上QQ阅读APP看书,第一时间看更新
2.5 创建敌人
创建敌人的方式与创建主角类似,不过敌人的行为需要由计算机来控制,它将从上方迎着主角缓慢飞出,并左右来回移动。
步骤 01 创建Enemy.cs脚本,添加代码如下:
[AddComponentMenu("MyGame/Enemy")] public class Enemy : MonoBehaviour { public float m_speed=1; // 速度 public int m_life=10; // 生命 protected float m_rotSpeed=30; // 旋转速度 void Start () { m_transform = this.transform; } void Update () { UpdateMove(); } // 注意,为了将来扩展功能,UpdateMove是一个虚函数, protected virtual void UpdateMove() { // 左右移动 float rx = Mathf.Sin(Time.time) * Time.deltaTime; // 前进 m_transform.Translate(new Vector3(rx, 0, -m_speed * Time.deltaTime)); } }
UpdateMove函数用来执行敌人的移动,使用了Sin函数使数值在-1~1之间循环变化,敌人在向前飞行的同时,还将左右迂回移动。
步骤 02 在Project窗口中找到Enemy.fbx文件,为其创建Prefab,并指定Enemy脚本作为其组件。
步骤 03 将敌人的Prefab从Project窗口中拖动到场景,然后按Ctrl+D组合键复制多个敌人并摆放在不同的位置。运行游戏,敌人将向前沿弧线来回缓缓移动,如图2-23所示。
图2-23 敌人