zoukankan      html  css  js  c++  java
  • 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);
    
    		}
    
    	}
    }
    
    
  • 相关阅读:
    Acrobat dose not allow connection to:
    如何备份sqlite数据库
    Linux下Perl的安装
    Sqlserver取分组后的第一条数据
    JS根据占比计算名次范围
    eltable单元格换行显示,超出部分省略号
    二 前端框架引入、结构分配和路由定义
    扩展运算符(...)
    eltable动态合并行列
    解决table中换行符<br>被字符化得问题
  • 原文地址:https://www.cnblogs.com/1997Ff/p/7364669.html
Copyright © 2011-2022 走看看