2010-11-24 6 views
3

Je suis en train de créer une application iPhone en plus du modèle OpenGL pour l'iPhone. J'étais sur le point d'ajouter l'interaction de l'utilisateur à l'application lorsque j'ai remarqué qu'elle ne répondrait pas aux touches de certaines de mes classes.Répondre au toucher dans les autres classes

Actuellement, le GameAppDelegate appelle mon EAGLView méthode startAnimation, qui appelle finalement ma ES1Renderer classe classe méthode render, qui appelle finalement ma méthode Scenerender. Je sais que c'est un peu le bordel à ce stade, mais je vais nettoyer finalement. Est seulement appelée et vérifiée dans ma classe EAGLView

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event Je ne sais pas ce qui me manque dans les autres classes (surtout ma classe Scene) qui va vérifier automatiquement si j'ai cette méthode et l'implémenter.

Répondre

0

A en juger par le schéma de nommage, il semble que Scene ne soit pas un UIView. La méthode de l'événement tactile est appelée quel que soit UIView est touché - dans ce cas, votre EAGLView. Si vous souhaitez que la classe Scene le gère, vous pouvez simplement appeler la méthode directement:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [myScene touchesBegan:touches withEvent:event]; 
} 
+0

Cela a été fait. Merci! –

Questions connexes