3

I've newly learnt OpenGL and I am developing a Game using OpenGL. I don't know how to implement OnTouch Event into image & move image I use the OpenGL Documentation Example OpenGLES 0.1 but nothig done

Rupal Thanki
  • 335
  • 2
  • 15

3 Answers3

1

See below code -

@Override
public boolean onTouchEvent(MotionEvent event) 
{
    mX = (int) event.getX();
    mY = (int) event.getY();
    return super.onTouchEvent(event);
}

And, follow this tutorial. It can help you.

Praveenkumar
  • 24,084
  • 23
  • 95
  • 173
1

By default you can handle touch in activity using following code,

 @Override
        public boolean onTouch(View v, MotionEvent event) {

            final float mouseSensitivity = 0.5f;

            if(event.getAction()==MotionEvent.ACTION_DOWN){
                startX = event.getX();
                startY = event.getY();
            } else if(event.getAction()==MotionEvent.ACTION_UP){
                startX = 0.0f;
                startY = 0.0f;
            } else if(event.getAction()==MotionEvent.ACTION_MOVE){
                graphicsRenderer.rotate((startY - event.getY()) * mouseSensitivity,(startX - event.getX()) * mouseSensitivity);
                startX = event.getX();
                startY = event.getY();
            }

            return true;
        }

// Where startX and startY are global int variables;

In order to handle over GLSurface view do like this,

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;
}
Karthi
  • 13,624
  • 10
  • 53
  • 76
0

First of all you implement override method onTouchMethod and then you see for touch for each an every one action like as down,up and move regarding on touch.

 @Override
    public boolean onTouch(View v, MotionEvent event) {

        if(event.getAction()==MotionEvent.ACTION_DOWN){
            Log.i(TAG,"Action Down");
        } else if(event.getAction()==MotionEvent.ACTION_UP){
             Log.i(TAG,"Action Up");
        } else if(event.getAction()==MotionEvent.ACTION_MOVE){
           Log.i(TAG,"Action Move");
        }
        return true;
    }
Najib.Nj
  • 3,706
  • 1
  • 25
  • 39