在游戏中咱们常看到怪物机械地来回挪动,这里提供一种实现办法。
(1)首先将图片拖到 Hierarchy 窗口,主动创立一个 gameObject,命名为 monster(1).
(2)为 monster(1)绑定 c# 脚本。
脚本内容如下:
次要留神增加的两个 Transform 对象 pos_left,pos_right, 这两个对象是场景中的两个固定 gameObject, 通过 pos_left.position.x 和 pos_right.position.x 获取它们的 x 坐标来设置怪物左右挪动的边界。怪物超过左边界(怪物地位横坐标小于 pos_left.position.x)则怪物变为面向右(faceLeftfalse)同时给怪物一个朝右的速度 (rb.velocity = new Vector2(speed,rb.velocity.y)),怪物超过右边界(怪物地位横坐标大于 pos_right.position.x)则怪物变为面向左(faceLefttrue) 同时给怪物一个朝左的速度 (rb.velocity = new Vector2(-speed,rb.velocity.y))。
如上图就是这两个固定的 pos_left,pos_right(hierarchy 窗口中的物体名字为 fixed(3),fixed(4)),因为它们的作用只是限度怪物挪动的范畴,所以它们图片很小很难被看见。
(3)将怪物绑定的 c# 脚本的两个 tansform 对象设定为 fixed(3),fixed(4)
这样就能够实现物体的主动左右挪动。