//enemyInfoは[n]がn番目の敵の情報の配列.敵の情報は(縦の長さ,横の長さ,出現位置,速度,時間) void EnemyAppear() { float enemyX; Vector3 enemyAngle = new Vector3(0.0f, 0.0f, 0.0f); if (enemyInfo [enemyNum] [3] > 0) { enemyX = 11.0f; } else { enemyX = -11.0f; enemyInfo [enemyNum] [3] = -enemyInfo [enemyNum] [3]; enemyAngle[1] = 180.0f; } GameObject enemy = Instantiate(sakeruEnemyObject, new Vector3(enemyX, 0.0f, enemyInfo[enemyNum][2]), Quaternion.Euler(enemyAngle)) as GameObject; SCEnemyController scec = enemy.GetComponent <SCEnemyController>(); scec.enemySpeed = enemyInfo[enemyNum][3]; scec.transform.localScale = new Vector3(enemyInfo[enemyNum][1], 1.0f, enemyInfo[enemyNum][0]); enemyNum++; if (enemyNum < enemyPop) { enemyFrame = (int)enemyInfo[enemyNum][4]; } else { enemyFrame = 99999999; //これ以上Enemyを生成しない } }
void Update() { // 残存Player数カウント alive = GameObject.FindGameObjectsWithTag("Player").Length; // UI表示 scoreLabel.text = "Score: " + getScore().ToString() + " / " + getMaxScore().ToString(); aliveLabel.text = "Alive: " + alive.ToString(); generationLabel.text = "第" + GeneManager.viewParam.generation.ToString() + "世代"; // ゲーム終了処理 if (alive == 0) { finishGame(); } //高速再生処理 //if (Input.GetKey("space")) //{ // Time.timeScale = 4; //} //else { // Time.timeScale = 1; //} Time.timeScale = GeneManager.viewParam.playSpeed; if (Input.GetKey("space")) { Time.timeScale *= 4; } // space キー押したらタイトルへ戻る if (Input.GetKey(KeyCode.Q)) { GeneManager.viewParam.playSpeed = 1; SceneManager.LoadScene("GameMain"); } if (Input.GetKey(KeyCode.E)) { float enemyX; enemyX = 11.0f; Vector3 enemyAngle = new Vector3(0.0f, 0.0f, 0.0f); GameObject enemy = Instantiate(sakeruEnemyObject, new Vector3(enemyX, 0.0f, 0.0f), Quaternion.Euler(enemyAngle)) as GameObject; SCEnemyController scec = enemy.GetComponent <SCEnemyController>(); scec.enemySpeed = 50; scec.transform.localScale = new Vector3(1.0f, 1.0f, 7.0f); } }