当用户触摸屏幕时,改变我使用OpenGl绘图
问题描述:
我正在开发一个Android应用程序。我很新。当用户触摸屏幕时,改变我使用OpenGl绘图
我有以下类别:
class CustomGLSurfaceView extends GLSurfaceView
class CustomRenderer implements GLSurfaceView.Renderer
CustomGLSurfaceView
使用CustomRenderer
上呈现方法的立方体。
我已经添加上CustomGLSurfaceView
的onTouchEvent(MotionEvent event)
管理触摸事件:
class CustomGLSurfaceView extends GLSurfaceView {
// For touch inputs - previous touch (x, y)
private float previousX;
private float previousY;
private CustomRenderer myRenderer;
public CustomGLSurfaceView(Context context) {
super(context);
myRenderer = new CustomRenderer();
setRenderer(myRenderer);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float currentX = event.getX();
float currentY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
myRenderer.handleMovement(currentY, currentY, previousX, previousY);
}
// Save current x, y
previousX = currentX;
previousY = currentY;
return true; // Event handled
}
}
我可能不得不修改得出一些新的或旋转立方体?我必须在handleMovement
上做到这一点。
谢谢。
答
检查SDK的samples目录中的APIDemo项目。例如,特别是TouchRotateActivity.java文件。由于您提到您是Android新手,因此我建议您通过APIDemo应用查看示例代码中可能提供/可用的内容。