unity游戏教程 space shooter (游戏控制器)

为了更好地理解unity,模仿了教程,以下均为教程中的代码:

GameController.cs:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameController : MonoBehaviour {

    public GameObject hazard;
    public Vector3 spawnValue;
    public int hazardCount;
    public float spawnWait;
    public float startWait;
    public float waveWait;


    private int score;
    public Text scoreText;

    public Text gameOverText;
    private bool gameOver;


    public Text restartText;
    private bool restart;


    // Use this for initialization
    void Start () {
        gameOverText.text = "";
        gameOver = false;

        restartText.text = "";
        restart = false;

        score = 0;
        UpdateScore ();
        StartCoroutine(SpawnWaves ());
    }

    void Update(){
        if(restart){
            if(Input.GetKeyDown(KeyCode.R)){
                Application.LoadLevel (Application.loadedLevel);
            }
        }
    }

    public void GameOver(){
        gameOver = true;
        gameOverText.text = "Game Over";

    }


    void UpdateScore(){
        scoreText.text = "Score:" + score;
    }

    public void addScore(int value){
        score += value;
        UpdateScore ();
    }



    IEnumerator SpawnWaves(){
        yield return new WaitForSeconds (startWait);
        while(true){
        for(int i=0;i<hazardCount;i++){
            Vector3 spawnPosition = new Vector3 (Random.Range(-spawnValue.x,spawnValue.x),spawnValue.y,spawnValue.z);
            Quaternion spawnRotation = Quaternion.identity;
            Instantiate (hazard,spawnPosition,spawnRotation);
            yield return new WaitForSeconds (spawnWait);
                if (gameOver){
                    restart = true;
                    restartText.text = "press 'R' to Restart";
                }
            }
            yield return new WaitForSeconds (waveWait);

        }

    }
}

转载于:https://www.cnblogs.com/1997Ff/p/7364669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值