『Unityでシューティングゲーム開発』敵を作る②(一定時間ごとに自動発射)

ここでは「一定時間ごとに自動で発射」する敵の作り方を説明します。

1)スクリプトの作成

「EnemyShotShell」スクリプトをダブルクリック。

・この中に下記のコードを追加してください(<追加>の部分)

using UnityEngine;
using System.Collections;

public class EnemyShotShell : MonoBehaviour {

	public GameObject shellPrefab;
	public float shotSpeed;
	public AudioClip shotSound;

	// <追加>
	private int count = 0;

	// <追加>
	void Update(){

		count += 1;

		// 100フレームごとにEnemyShot()メソッドを実行する。
		if(count % 100 == 0){
			EnemyShot();
		}
	}


	public void EnemyShot(){

		GameObject shell = Instantiate(shellPrefab, transform.position, Quaternion.identity) as GameObject;

		Rigidbody shellRigidbody = shell.GetComponent<Rigidbody>();

		shellRigidbody.AddForce(transform.forward * shotSpeed);

		AudioSource.PlayClipAtPoint(shotSound, transform.position);

		Destroy(shell, 1.5f);
	}
}

(ポイント)

「%」の意味をおさえること。

「==」の意味をおさえること。

・コードが書けたらチェック。

・再生ボタンを押して確認してみましょう。

一定間隔で敵が自動的に砲弾を発射すれば成功です。

これで「1種類目の敵」ができました。

今後、「敵の種類」を増やしていきますので、自分でわかりやすいようにそれぞれの敵に名前を付けましょう。


(サイト紹介)

『CodeGenius | Unity初心者のための学習サイト』