TouchRotateActivity
1、在activity中聚焦
mGLSurfaceView.requestFocus();
mGLSurfaceView.setFocusableInTouchMode(true);
2、设置渲染模式
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
3、在GLSurfaceView的子类中,继承onTouchEvent方法
根据滑动,计算出x、y方向需旋转的角度,并要求重新渲染
private final float TOUCH_SCALE_FACTOR = 180.0f / 320;
@Override
public boolean onTouchEvent(MotionEvent e) {
float x = e.getX();
float y = e.getY();
switch (e.getAction()) {
case MotionEvent.ACTION_MOVE:
float dx = x - mPreviousX;
float dy = y - mPreviousY;
mRenderer.mAngleX += dx * TOUCH_SCALE_FACTOR;
mRenderer.mAngleY += dy * TOUCH_SCALE_FACTOR;
requestRender();
}
mPreviousX = x;
mPreviousY = y;
return true;
}
其他和上面每啥区别了
本文介绍如何通过触摸屏幕实现GLSurfaceView的旋转效果。主要步骤包括:使Activity获得焦点、设置渲染模式为当脏时渲染、重写GLSurfaceView的onTouchEvent方法来捕捉用户的触摸移动并据此更新渲染角度。
3574

被折叠的 条评论
为什么被折叠?



