IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

openGl detection zone


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut openGl detection zone
    Hello,
    J'ai un layout avec du text des images et un glSurfaceView avec un rendu opengl. Dans ce glsurfaceView j'ai 9 zones clickable qui sont toujours les mêmes. La position x et y de onTouchEvent me donne une position dans mon layout et pas dans mon gl surfaceview. Peut on avoir la position dans le glsurfaceView ? Tout cela m'évite de faire un picking !

    Merci

    Colin

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Hello,
    J'ai un exemple de ce que je veux faire mais je veux un glSurfaceView du layout et pas en créer un autre.
    Je veux insérer ce code : dans l'exemple ci dessous :
    setContentView(R.layout.jeux);
    view = (GLSurfaceView) findViewById(R.id.surfaceViewJeux);

    Comment je fais ca ?

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    package com.google.android.ClearTest;
     
    import javax.microedition.khronos.egl.EGLConfig;
    import javax.microedition.khronos.opengles.GL10;
     
    import android.app.Activity;
    import android.content.Context;
    import android.opengl.GLSurfaceView;
    import android.os.Bundle;
    import android.view.MotionEvent;
     
    public class ClearActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mGLView = new ClearGLSurfaceView(this);
            setContentView(mGLView);
        }
     
        @Override
        protected void onPause() {
            super.onPause();
            mGLView.onPause();
        }
     
        @Override
        protected void onResume() {
            super.onResume();
            mGLView.onResume();
        }
     
        private GLSurfaceView mGLView;
    }
     
    class ClearGLSurfaceView extends GLSurfaceView {
        public ClearGLSurfaceView(Context context) {
            super(context);
            mRenderer = new ClearRenderer();
            setRenderer(mRenderer);
        }
     
        public boolean onTouchEvent(final MotionEvent event) {
            queueEvent(new Runnable(){
                public void run() {
                    mRenderer.setColor(event.getX() / getWidth(),
                            event.getY() / getHeight(), 1.0f);
                }});
                return true;
            }
     
            ClearRenderer mRenderer;
    }
     
    class ClearRenderer implements GLSurfaceView.Renderer {
        public void onSurfaceCreated(GL10 gl, EGLConfig config) {
            // Do nothing special.
        }
     
        public void onSurfaceChanged(GL10 gl, int w, int h) {
            gl.glViewport(0, 0, w, h);
        }
     
        public void onDrawFrame(GL10 gl) {
            gl.glClearColor(mRed, mGreen, mBlue, 1.0f);
            gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        }
     
        public void setColor(float r, float g, float b) {
            mRed = r;
            mGreen = g;
            mBlue = b;
        }
     
        private float mRed;
        private float mGreen;
        private float mBlue;
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Je veux juste dans l'exemple ci dessus utiliser un glsurfaceView existant dans mon layout comment faire ?
    Je veux avoir les coodonnées de la souris à l'intérieur du glsurfaceview et pas de mon activité car le glsurfacview n'est pas toujours au même endroit.

    Avez vous une solution ?

    Merci

  4. #4
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Par défaut
    Tu surcharges la classe glSurfaceView ainsi que sa méthode onToucheEvent.

    EDIT:
    Excuse moi, il y a plus simple; tu définies un nouveau Listener pour ta surface:
    http://developer.android.com/referen...uchListener%29

    RE-EDIT:
    J'ai pas vu ton code, tu surchages bien la méthode OnTouchEvent dans ta classe glSurfaceView; donc les coordonnées renvoyées doivent bien être celles dans la surface et non de ton layout.

Discussions similaires

  1. Détecter zone de clic OpenGL
    Par raph-68i dans le forum Android
    Réponses: 3
    Dernier message: 16/05/2011, 16h40
  2. detection de collision opengl
    Par mimi_14 dans le forum C++
    Réponses: 2
    Dernier message: 10/02/2010, 20h09
  3. Detection d'objets dans une zone
    Par cocacola0589 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 16/11/2009, 12h09
  4. Detection de zone
    Par guyguy333 dans le forum Flash
    Réponses: 2
    Dernier message: 11/02/2008, 16h40
  5. Detection de mouvement / reconnaissance des zones
    Par BNS dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 04/05/2006, 21h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo