求助,随手指滑动方向旋转

想要实现:
手指在屏幕任意位置向某个方向滑动,节点就随着转向那个方向(不是转向触摸点的位置),类似手游Charles => Charles 一个手机游戏_哔哩哔哩_bilibili

有没有大佬知道方法的,感谢!

https://blog.csdn.net/DaDaDaTouA/article/details/118899325
讲真 这种真的是百度一搜一大堆…

不是朝向目标,你贴的这个我会写

你可以下个Charles玩玩,应该就能明白我的意思

就是比如,原本中间有个箭头节点A向上,手指在屏幕任意位置向右滑一段距离后再向下滑一段距离,箭头节点A就会顺时针转直到向右,然后再顺时针转向下。此时如果手指在另一个地方向上滑,箭头节点A就会跟着转向朝上……

我指的是动图中那个玩家控制的那个鱼,而不是那些向鱼移动的圆点

touchmove 时候把当前触摸位置,和上一个触摸位置,两个向量算夹角,鱼节点 angle 设置为这个夹角(注意把弧度转为角度),大概是这样,你试试

2赞

会算角度,那就根本难不到你。

但确实难道我了。

我是没有思路,知道旋转肯定和角度有关,试了挺多方法(前后两个触摸点角度、极坐标转换等等),但都达不到Charles那样的效果。

可能你不清楚,不了解,但仍感谢你的回复。

感谢答复,这个方法我试过,但有个严重问题,就是两次触摸点采样太快(?)导致过于灵敏,鱼旋转地非常快;手指滑快时还好,但慢慢滑的时候就会不停的转,请问有什么解决办法吗?如下图

感觉应该是算手指位置和鱼朝向的偏移量,然后添加一个参数来控制旋转的力度会比较好把。update也能做,搞成类似加速度的形式去做

1赞

这个问题 主要是思路问题 实现难度应该很低 本质上这个问题 就是 瞬间动画 跟 持续动画的问题 楼主想要的是 一个 持续转向 就是 箭头不是 瞬间指向那个方向 而是会渐渐地转过去 那么我们只需要给 箭头挂个脚本,脚本里有生命周期函数 update,在update里做逻辑就好,定一个 目标角度 或者目标 坐标, 定一个 固定的速度,在update里 朝着目标 去就行了 很简单的,你手指可以一直触摸,目标位置也可以一直变,反正这个箭头就会 永远朝着目标去,只不过不是瞬间去 而是通过计时器慢慢的去

1赞

加个lerp就平滑了

1赞