- Unity手机游戏开发:从搭建到发布上线全流程实战
- 王杰编著
- 796字
- 2025-03-28 15:50:18
1.2.2 关联脚本
为了理解一个脚本的用途,下面通过几个小问题来梳理一下思路。
①脚本要实现什么功能?
②脚本实现这个功能需要关联哪些物体?
③这些物体需要符合什么条件才能被脚本关联?
接下来带着问题,从实现功能的角度出发,把脚本应用到游戏中。
脚本要实现的功能是,玩家可以用键盘上的W、A、S、D键控制猫在地面上自由地行走。通常情况下,猫在地面上行走,所以这个脚本需要关联猫和地面。猫和地面符合什么条件才能被关联呢?
第一,脚本控制的是猫的移动,所以脚本需要加到猫身上。第二,由于控制物体移动的逻辑实际上是控制物体的刚体组件移动,所以猫身上需要加一个刚体组件。第三,有了刚体组件,猫就有了重力效果,若地面上没有碰撞体组件,猫就会掉下地面,所以地面上也需要加碰撞体组件。
对猫和地面的设置,如图1-21和图1-22所示。

图1-21 地面设置

图1-22 猫的设置
加了脚本之后,猫可以自由地行走了,但是这只猫还不能捕捉老鼠,为什么呢?
因为猫还不认识老鼠,自然不知道自己应该捉谁,那么如何让猫认识老鼠呢?
这里可以为脚本中的捕捉逻辑指定一个捕捉目标,让猫时刻知道自己要捕捉的是什么。在具体代码中,为这个捕捉目标定义一个公共变量Target,只需要把老鼠赋值给这个Target,猫就知道该捉谁了,如图1-23所示。
好了,再来说说老鼠。
老鼠被捉到之后能逃跑,说明老鼠被捉后,其位置会变化,所以给老鼠加的代码简单一些,只是实现位置变化的逻辑。另外,老鼠和猫一样也要在地面上行走,所以也需要为它添加碰撞体组件,图1-24所示是为老鼠添加碰撞体组件的操作过程。

图1-23 为猫关联捕捉目标

图1-24 为老鼠添加碰撞体组件
至此,猫捉老鼠的游戏就可以玩了。保存场景,单击“运行”按钮,如图1-25所示。

图1-25 猫捉老鼠
假如W、A、S、D键无响应,这是因为没有激活游戏面板Game,单击游戏面板即可激活。
至此,玩家终于可以自由地控制猫去捉老鼠了,老鼠被捉到后会自动地随机换一个位置。如果你运行的结果也是如此,那么说明你的实践成功了!