2011-03-28 92 views

回答

7

将onTouchEvent(MotionEvent e)覆盖到扩展GlsurfaceView的类中。

@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; 
    } 

而要知道用户触摸的对象,您应该将触摸事件坐标与对象坐标进行比较。

+0

谢谢。另外,如果用户触摸了物体所在的屏幕,X坐标和Y坐标是相同的,但Z坐标是不同的?就像你可以画一条直线进入屏幕一样,它会与对象相交。 – AnimatedRNG 2011-03-28 15:14:46