我爲我的android遊戲使用opengl es。我想抓住x和y的位置。我跟着一堆不同的教程,一切都會導致相同的結果:我無法從中得到任何東西。這個方法甚至不是我覺得奇怪的。所以,這裏是我的GLSurfaceView類android ontouchevent opengl
class OpenGLES10SurfaceView extends GLSurfaceView {
//private final float TOUCH_SCALE_FACTOR = 180.0f/320;
public OpenGLES10Renderer mRenderer;
//static private float mPreviousX;
//static private float mPreviousY;
private static float _x;
private static float _y;
public OpenGLES10SurfaceView(Context context){
super(context);
// set the mRenderer member
mRenderer = new OpenGLES10Renderer(context);
setRenderer(mRenderer);
// Render the view only when there is a change
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
}
@Override
public boolean onTouchEvent(MotionEvent e) {
// MotionEvent reports input details from the touch screen
// and other input controls. In this case, you are only
// interested in events where the touch position changed.
float x = e.getX();
float y = e.getY();
switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
mRenderer.setX(x);
return true;
}
}
}
我不能找到個到底是不對的,所以如果你能幫助這將極大地appriciated。如果您需要編碼部分代碼,請說明。
你記得在你的視圖上設置OnTouchListener嗎? – JoxTraex 2012-08-03 00:40:34
你能否在你的活動中包含你設置contentview的部分?另外,請嘗試在活動中添加一個onTouchEvent(),如果沒有任何視圖使用該事件,則應該接收該事件,這可以幫助您調試問題。 – Aert 2012-08-03 02:58:31