【发布时间】:2012-06-07 02:12:45
【问题描述】:
我目前正在使用 OpenGL-ES 为 Android 开发 3D 模型查看器。我想根据给定的手势创建一个旋转效果。 我知道如何进行单轴旋转,例如仅在 x、y 或 z 轴上旋转。但是,我的问题是我不知道如何将它们全部 3 组合在一起,并让我的应用程序知道我想根据触摸手势在哪个轴上旋转。 我想到的手势是:
- 向上/向下滑动 x 轴
- 向左/向右滑动 y 轴
- 以圆周运动滑动 z 轴
我该怎么做?
编辑:我发现 3 种类型的滑动可以使这一刻非常难看。因此,我所做的是移除 z 轴运动。移除该条件后,我发现其他两个与相同的算法结合使用效果非常好。
【问题讨论】:
-
我没有在 Android 中编程,但这对我来说似乎很容易。检测向上或向下滑动(如果 Android 有手势识别器,使用它;否则,检测第一次触摸,然后向上触摸,并从中获取方向)然后根据距离在您想要的任何轴上应用旋转量/滑动速度。您将不得不为圆形手势做更多的工作,但您可能会在 SO 上找到一些东西。
-
是的,我知道的就这么多。我确实说过我知道如何处理单轴滑动。我的问题是如何识别单个类型的触摸动作,例如同一处理程序中的直线滑动和弯曲滑动。一旦我弄清楚了相应的路径,滑动的方向就很容易了。
标签: android opengl-es rotation touch 3d-modelling