2010-10-28 3 views
0

Je veux juste poser une question simple liée à la GLSurfaceView et objets dessinés sur elle. Je dessine un rect et j'y attache une texture. Cela fonctionne très bien. Ensuite, le rectangle texturé que je dessine est sur GLSurfaceView. Je dessine un objet "bouton" pour lequel je devrais savoir si l'utilisateur a cliqué sur le bouton ou non. J'ai imaginé cela comme ceci: si l'utilisateur appuie sur l'écran et que le .y du robinet est dans le rect de l'objet dessiné (dans mon cas le bouton), j'ai besoin d'une autre opération à effectuer (c.-à-d. vue ou alors ...). Est-ce que mon idée est correcte? Maintenant, la question: Comment gérer les interactions de l'utilisateur? Et comment puis-je obtenir le Rect de l'objet dessiné (bouton) sur la GLSurfaceView (c'est-à-dire Rect (120, 80)) afin que je puisse vérifier si l'utilisateur a cliqué sur le bouton ou pas? Ou il y a une autre approche.GLSurfaceView texturé rect que les clics de bouton

Je suis également intéressé par les postes suivants: J'ai en tête de rendre mon application totalement opengl es basée. Je n'utiliserai pas les vues Button d'Android. Je travaille avec de grandes textures et je pense que OpenGL ES est le meilleur moyen de le faire, car les animations via les translations et les rotations sont plus faciles à gérer. Ai-je raison?

Merci

Répondre

0

Vous pouvez utiliser onTouchEvent pour obtenir les points x et y, où utilisateur touche.

@Override 
    public boolean onTouchEvent(MotionEvent event) { 

    float x = event.getX(); 
    float y = event.getY(); 

    } 
+0

Cela n'a rien à voir avec ma question initiale. Capturer où l'utilisateur a cliqué est une chose, la cartographie sur GLSurfaceView est différente. – user584513

Questions connexes