飞毯的循环移动功能实现.md 1.6 KB

这个就是飞毯的实体

![[Pasted image 20230706140302.png]]

还有俩,分别是设定好的,飞毯的开始点和结束点

![[Pasted image 20230706140435.png]]

可以看到,飞毯上面是有一个扇形区域

![[Pasted image 20230706141620.png]]

对应的是这个组件

![[Pasted image 20230706141912.png]]

它是需要依赖于碰撞体的 如果把前面的自定义碰撞体使能勾选去掉,就会出现功能缺失警告

![[Pasted image 20230706141943.png]]

这个扇形区域,就是用力检测玩家碰撞体 这个就是相关的逻辑脚本了

![[Pasted image 20230706144716.png]]

声明的几个变量

![[Pasted image 20230706144818.png]]

获取自身的图片组件,用来修改方向的 获取开始和结束点 移动方向 图片的显示翻转,默认是为true的

![[Pasted image 20230706145013.png]]

帧更新函数,根据移动方向的布尔,一开始是从开始到终点,也是用Vector2.MoveTowards就好

然后距离判断,这里用localPosition就好,因为他们是同级目录的

![[Pasted image 20230706145530.png]]

循例,距离小于等于0.1的时候,判断已经抵达,就修改运动方向就好 然后,还需要修改图片的翻转布尔

![[Pasted image 20230706145150.png]]

然后,是实现相对静止,是通过前面提及的那个,扇形区域,玩家进入和离开触发的

设置父物体就好,需要注意的是,是可以设置父物体为空的 SetParent(null)

![[Pasted image 20230706145654.png]]

运行游戏,当人站在上面的时候,相对位置也是正常的

![[Pasted image 20230706150016.png]]