gpt4 book ai didi

android - 在 Android 上查找围绕圆圈的用户触摸事件的角度和速度

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:21 25 4
gpt4 key购买 nike

数学又来了,它打败了我。我需要你的帮助来重新集结并再次进攻。

我得到的:

enter image description here

我有一个表面 View 和一个圆作为位图。当用户围绕圆圈边缘移动手指时,我需要旋转位图。用户滑动得越快,我就越需要旋转图像。看似简单,实则并不容易实现。

我需要什么

我需要计算在 onDraw 事件中旋转图像的角度。从我到目前为止的想法来看,我需要两件事:- 新触摸点与旧触摸点之间的角度。我做了一个简单的函数来处理这个问题:

     private int getAngleBetweenTwoTouchedPoints(double oldX, double oldY, double newX, double newY)
{
return (int) Math.abs(Math.atan2(newY - oldY, newX - oldX));
}

由此返回的角度从 0 到 1 不等,我相信它是正确的。通过将图像旋转矩阵角度增加这个值,我得到一个缓慢的旋转,基本上是 1 个单位。所以,有机会工作,但还没有确定。- 因此,我可能需要的第二件事是用户在屏幕上滑动手指的速度。所以基本上是这样的:

rotationAngle += angleBetweenTouches+speed

我看到的速度或速度是我的问题,考虑到我不仅在 X 或 Y 上移动,而且在圆周上移动。我不知道如何计算它。我在 Android 上看到了 VelocityTracker 帮助,但我不知道它有什么帮助。

回顾一下:我需要能够在用户围绕图像边界移动手指时旋转图像。更简单的是,当用户停止滑动时,滑动开始时手指下方的图像像素应该与滑动停止时相同。

非常感谢任何帮助。谢谢

最佳答案

我有同样的任务,但角度不同。我希望这个链接能给你一些线索 http://www.andengine.org/forums/post9226.html#p9226

对于时差,您是否尝试在两次不同的点击之间从 Date 类获取 getTime()?

希望这能给你一些想法。

关于android - 在 Android 上查找围绕圆圈的用户触摸事件的角度和速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com