2010-10-26 37 views
0

J'écris un jeu de défilement latéral avec la physique. Avant de me salir les mains, j'ai commencé à me concentrer sur la physique et le rendu graphique. Au départ, je pensais garder tout statique (sans défilement). Pour la physique après référence à de nombreux tutoriels, je finis par ici http://www.tonypa.pri.ee/vectors/tut08.html. Cet ensemble de tutoriel couvre la plupart de la physique de base/avancée requise pour un jeu simple. En suivant ce tutoriel j'ai créé mon monde 2D avec des objets comme triangle, boîte, ..... Chaque vertices différents objets sont sauvegardés comme vecteurs pour calculer la collision, rebond, ....... La réponse est assez bonne si je appliquer une force en x/y, fonctionne parfaitement tant que chaque objet collable est statique. maintenant je me bats dans la façon de déplacer tous les vecteurs selon la direction (droite/gauche) et en même temps mettre à jour le nouveau changement de vecteur pour la collision. J'ai une compréhension de base de la façon dont cette traduction fonctionne dans l'environnement basé sur les tuiles. Mais pour le monde non carrelé, quelle est la meilleure pratique? Merci d'avance.Faire défiler le monde 2d avec la physique

+1

Etes-vous en train d'essayer de faire défiler tout l'écran, ou simplement de déplacer des objets spécifiques? –

+0

Im essayant de faire défiler toute la scène dans les deux x, y. Ce serait génial si quelqu'un expliquait l'approche derrière le populaire jeu PSP LOCO ROCO. La version en ligne est ici http://www.cuteflashgames.com/game/loco_roco.html – Anandh

Répondre

1

Si vous voulez tout déplacer, le meilleur moyen serait de faire défiler la caméra virtuelle. J'ai peur de ne pas savoir quoi que ce soit à propos du flash, mais je suppose qu'il a quelques fonctionnalités pour manipuler la caméra virtuelle, la matrice de transformation par défaut ou quelque chose de similaire.

Vous ne devriez pas avoir à modifier quoi que ce soit d'autre si vous pouvez manipuler la caméra virtuelle ou la matrice de transformation par défaut.

+0

Merci pour votre réponse. Je ne développe pas cela en flash, en écrivant ce jeu en objectif-c/c pour iphone en utilisant cocos2d et mon propre vecteur basé la physique. Comme vous l'avez dit, j'ai essayé de faire défiler tout le CCLayer mais je ne pouvais pas le rendre parfait. Je vais essayer d'explorer la caméra et OpenGL ES. Quelqu'un peut-il expliquer comment la coordonnée x, y de la caméra devrait se traduire par le mouvement du joueur? – Anandh

+0

Je suis familier avec OpenGL mais pas OpenGL ES donc je ne sais pas exactement où ils varient. Dans opengl vous définissez glMatrixMode (GL_MODELVIEW) afin de manipuler la matrice de vue du modèle, puis utilisez glTranslatef ou utilisez les méthodes glLoadMatrixf (et maintenez votre propre matrice de vue en dehors de opengl) pour manipuler la caméra virtuelle. Normalement, je gère mes propres matrices car il est plus facile d'accéder à toutes les données dont vous avez besoin dans un programme complexe. – Montdidier

1

Si vous utilisez OpenGL ...

Je saturant de cette mémoire afin que vous devez vérifier exactes, mais je pense qu'il ya une méthode de GL que l'emplacement et statistiques de ce que vous regardez. C'est tout ce que vous avez à faire. Vous pouvez le spécifier dans les co-ords du monde afin que les coordonnées x, y des objets respectifs ne changent pas, juste votre point de vue.