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;
}
其他和上面每啥区别了