2012-02-21 4 views
0

Je viens de commencer à développer un jeu Android 2D, quelque chose comme squash un bug. Scénario est (il y a comme 3 bogues de même type se déplaçant dans des directions aléatoires, quand j'appuie sur l'un d'entre eux il disparaît et etc ...)Coordonnées dans OpenGL ES

J'utilise opengl es.Its un jeu 2D simple et mon appareil photo est fixé dans une position dans opengl es. Je sais que les coordonnées de mon téléphone ne correspondent pas à mes coordonnées ouvertes et que je dois donc les combiner/convertir moi-même.

Désolé si ma question semble idiote je suis un débutant ....

Question 1 (peut-être la chose la plus importante afin de créer ce jeu). Comme je l'ai dit j'ai 3 mêmes objets (bugs). Comment puis-je suivre les coordonnées de chacun d'entre eux dans opengl en même temps. Question 2. Existe-t-il un moyen alternatif et facile de combiner les coordonnées d'un écran à l'autre ou devrais-je le faire moi-même?

Répondre

0
  1. Vous devriez juste être en mesure de suivre les coordonnées de chaque objet en utilisant la structure de données que vous préférez. En termes simples, il peut s'agir simplement d'une structure contenant les coordonnées x et y dans «l'espace du monde». À chaque itération, vous devez mettre à jour ces coordonnées en fonction de la vitesse et de la direction, puis dessiner à nouveau les objets. Sans optimisations intelligentes (dont vous n'avez probablement pas besoin s'il s'agit d'une poignée d'objets), vous pouvez le faire en appelant le déplacement de votre position vers les coordonnées de l'objet et en appelant draw. Je crois que dans les opengles, il faudrait que vous gardiez une trace de cela vous-même.

Lorsque vous travaillez dans opengl (es), généralement vous garder une trace de coordonnées dans « l'espace mondial », qui désigne le monde conceptuel coordonnées de l'objet. Chaque objet peut alors avoir sa propre connaissance de la façon de se dessiner dans "l'espace modèle", qui suppose que l'objet est centré sur (0, 0), et vous permet de spécifier les jambes et les emplacements des têtes et autres. , 0).

La dernière étape consiste à projeter les coordonnées vers «l'espace de l'écran» qui correspond à la définition de votre fenêtre d'affichage (qui est essentiellement votre écran). Les transitions entre les coordonnées sont généralement réalisées par des matrices de vue et de projection. La matrice de vue du modèle transforme les coordonnées de votre monde en coordonnées de la caméra (c'est-à-dire par rapport à votre caméra), et la matrice de projection transforme ces coordonnées en coordonnées de la fenêtre (c.-à-d. Cela peut sembler beaucoup, mais une fois que vous avez compris ces matrices, cela devient une seconde nature. Je suis sûr qu'il existe des tutoriels pour les matrices de projection opengl modelview. Faites-nous savoir si vous avez des questions plus spécifiques ...

+0

Merci pour votre réponse, c'est assez instructif. De toute façon, la seule chose que je ne peux pas savoir comment je vais suivre où ils se trouvent s'ils se déplacent au hasard. Existe-t-il un moyen de vérifier instantanément quelles sont les coordonnées de mon objet dans "l'espace du monde"? – user1223513

Questions connexes