问题描述
我使用 ARCore 和 Sceneform 在 Android 上构建了一个 AR 应用程序,我想在用户单击按钮时在x 、 y或z轴上平移对象。
我怎样才能做到这一点?
我尝试这样做,当用户按下按钮时,我正在用翻译姿势组合对象姿势,删除对象并通过翻译创建新对象。 但是点击几下后,我有 SIG 9(杀死应用程序)。
还有其他方法吗?
1楼
您可以使用按钮和在两个锚点之间平移 3D 对象。
或者
为了沿表面平移您的对象,您应该使用接口及其有用的公共方法,例如:
- onDown(MotionEvent e)
- onFling(MotionEvent e1, MotionEvent e2, 浮动速度X, 浮动速度Y)
- onLongPress(MotionEvent e)
- onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
- onShowPress(MotionEvent e)
- onSingleTapUp(MotionEvent e)
这是一个关于如何在onScroll()方法中重绘对象的onScroll() :
android.view.GestureDetector.OnGestureListener
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distX, float distY) {
if (ptrCount < 2) {
queuedSingleTaps.offer(motionEvent);
return true;
} else {
return false;
}
}
希望这可以帮助。