Androidゲームにopengl esを使用しています。xとyの位置をキャッチしたい。私は一連の別のチュートリアルに従いましたが、すべてが同じ結果につながります。何も得られません。私が奇妙だと思うメソッドは呼び出されません。だから、ここに私のGLSurfaceViewクラスがあります
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;
}
}
}
これのどこが悪いのかわからないので、助けていただければ、非常に感謝します。コードの一部が必要な場合は、そう言ってください。