gpt4 book ai didi

iphone - 带有滑动问题的旋转圆圈

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:21 25 4
gpt4 key购买 nike

好吧,我正在制作一个基本上用作旋钮的东西,但只有一半在屏幕上——所以我只需要水平滑动即可使其旋转。除了一个异常(exception),我几乎对所有内容都进行了排序:如果您在滑动中途改变滑动方向,则旋转不会改变方向。我什至可以看到问题所在,但不确定如何解决。

所以在我的 touchesMoved 中,我以可预测的方式滑动到弧度:

CGFloat radians = atan2f(location.y - centerY, location.x - centerX);

然后我存储弧度,将其添加/减去之前的旋转,然后将结果提供给 CATransform3D。

所以可能是即使滑动改变了方向,也存在不允许立即改变方向的“平衡”。

这有什么意义吗?

最佳答案

首先,我希望您知道 atan() 返回的值在 -π/2..+π/2 范围内,这样您就永远不会在圆的另一半得到值。 (如果你推断答案在那一边,你必须自己做翻转/镜像。)

在您的 touches-moved NSLog() 中,您计算​​出的新差异是什么,并确保它是您期望的值。

当然,您在 touchesBegan 上保留之前的弧度,并在 init、touchesEnded 和 touchesCancelled 上保存当前弧度,对吗?

(在很多情况下,touchesCancelled 可以将参数转发给 touchesEnded。)

如果您执行所有这些操作,那么您描述的方案应该可行。如果没有,也许可以提供更多信息,例如当您认为这些值应该不同时,各种值的 NSLog() 输出。

关于iphone - 带有滑动问题的旋转圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901585/

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