【Space Shoot Project】Game Controller

来源:互联网 发布:菜鸟裹裹抢单软件 编辑:程序博客网 时间:2024/06/05 18:48

Game Controller 主要控制游戏的发展,比如增加分数,死亡,继续游戏等


1. 创建Game Controller Object,并 reset Transform

2.  GameContoller 的inspector 窗口 Add Script 控制陨石产生

  用 Instantiate 来初始化 Asteriod 的出现位置。spawnPositions 是陨石的出现范围, Quaternion.identity 表示没有旋转。

Instantiate (hazard, spawnPosition, spawnRotation);
3. 多个陨石效果,不能仅仅是单独的复制产生陨石的代码,代码重复是编程的忌讳。使用coroutine来控制陨石波的出现时间,否则出现的同步的陨石,一排排。

Coroutine,中断,直到YieldInstruction 结束。 StartCoroutine(SpawnWaves), 开始一个 coroutine


using UnityEngine;using System.Collections;public class GameController : MonoBehaviour{    public GameObject hazard;    public Vector3 spawnValues;    void Start ()    {        StartCoroutine(SpawnWaves());    }    void SpawnWaves ()    {        Vector3 spawnPosition = new Vector3 (Random.Range (-spawnValues.x, spawnValues.x), spawnValues.y, spawnValues.z);        Quaternion spawnRotation = Quaternion.identity;        Instantiate (hazard, spawnPosition, spawnRotation);    }}

可以看到,explotion 还是一直没有消失,此时需要在一定时间后清除。

using UnityEngine;using System.Collections;public class DestroyByTime : MonoBehaviour{    public float lifetime;    void Start ()    {        Destroy (gameObject, lifetime);    }}

image
0 0
原创粉丝点击