obsidian/笔记文件/2.笔记/飞毯的循环移动功能实现.md
2025-03-26 00:02:56 +08:00

1.6 KiB
Raw Blame History

这个就是飞毯的实体

!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