2009-10-04 6 views
0

Un exemple simplifié ici:Manipulation UITouches pour les différentes parties d'un jeu ouvert gl ES iphone

J'ai un jeu que je vous écris en es opengl. Le jeu a deux écrans différents qui font des choses complètement différentes en fonction de la saisie tactile de l'utilisateur.

Quelle est la meilleure façon d'extraire les événements uitouch de la vue? J'imagine que dans un monde parfait, les événements tactiles seraient gérés par ma boucle de jeu, mais parce que la vue gère mes événements tactiles, je ne sais pas comment faire pour que la boucle du jeu les gère.

Plusieurs EAGLViews?

Quelle est la meilleure façon de gérer les touchers entre deux écrans différents dans votre jeu?

Répondre

1

Je ne vois pas pourquoi vous ne pourriez pas toucher les touches de votre boucle de jeu. Enregistrez simplement les événements tactiles dans une structure de données (une liste ou quelque chose) dans les gestionnaires tactiles des vues. Ensuite, dans la boucle de jeu, il suffit de traiter tous les événements qui ont été enregistrés dans la structure de données. Assurez-vous simplement qu'un seul thread modifie la structure de données à la fois.

Vous n'avez même pas besoin d'enregistrer les événements si des données plus simples suffisent dans la boucle de jeu. Dans des cas simples, vous pouvez simplement mettre à jour des variables comme touchX, touchY et touchState (aucune, commencé, déplacé, terminé) dans les gestionnaires tactiles et lire ces variables dans la boucle de jeu. Dans ce cas, vous pouvez vous assurer que la boucle de jeu peut réagir aux événements commencés et terminés de manière sensée. C'est à dire. Les états commencés et terminés doivent toujours durer exactement une fois.

Questions connexes