我試圖使用雙擊並按住/移動以實現平移操作(單擊並按住/移動已被旋轉操作採用)。但是,onDoubleTapEvent函數在用戶移動時僅接收大約18個MotionEvent,然後掛起,直到用戶完成手勢,此時在實際完成手勢之前它將再接收一個MotionEvent。SimpleOnGestureListener,onDoubleTapEvent在一段時間後暫停,直到手勢完成
因此,即使用戶仍在拖動,用戶可以將物體移動一小段距離,此時它會凍結。當用戶釋放時,對象將捕捉到正確的位置。我希望用戶能夠拖/只要她/他想。任何提示真的會被讚賞。
這是onDoubleTap和onDoubleTapEvent功能的實現:
@Override
public boolean onDoubleTap(MotionEvent event) {
eventpan.x = event.getX();
eventpan.y = event.getY();
return true;
}
@Override
public boolean onDoubleTapEvent(MotionEvent event) {
oglrenderer.panx += 0.005f * (event.getX() - eventpan.x);
oglrenderer.pany += - 0.005f * (event.getY() - eventpan.y);
eventpan.x = event.getX();
eventpan.y = event.getY();
return true;
}
這只是改變x和y的渲染器,誰的OnDraw功能基本座標翻譯是這樣的:
public void onDrawFrame(GL10 gl) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glTranslatef(panx, pany, zoom);
object.draw(gl);
gl.glPopMatrix();
gl.glFlush();
}
我目前正在爲Android 4.0,API級別14設計。再次,任何提示將不勝感激。