2010-10-03 3 views
2

Eh bien, le titre/sujet couvre à peu près le problème. En utilisant divers exemples et l'API sur googlecode, il semble que ma classe GLSurfaceView étendue devrait être un bon endroit pour travailler mes entrées onTouchEvent mais quand j'essaie de définir des variables impliquant getHeight() et getWidth() quand je fais l'appel à mon "Où l'utilisateur a-t-il touché la classe", getHeight() et getWidth() sont zéro. J'ai vérifié cela en disant à la méthode de classe de renvoyer getHeight() ou getWidth() int que je lui ai passé et il revient à zéro. J'utilise un SpriteTextRenderer étendu pour afficher les valeurs de mon "où l'utilisateur a touché la classe", et je sais que cela fonctionne bien parce que je peux changer l'autre méthode pour retourner event.getX() ou l'événement .getY() et ces valeurs s'affichent et se mettent à jour correctement.En Java Android OpenGL ES, mon GLSurfaceView étendu voit getHeight()/getWidth() comme 0

Ma question est, est la classe étendue GLSurfaceView l'endroit où je devrais demander pour obtenir les valeurs getHeight() et getWidth()?

Répondre

2

Vous pouvez obtenir la hauteur et la largeur de GLSurfaceView à partir des paramètres dans onSurfaceChanged et les stocker dans des champs privés.