敵を追尾する弾(ミサイル)

「敵を追尾する弾(ミサイル)」の編集履歴(バックアップ)一覧に戻る

敵を追尾する弾(ミサイル) - (2015/05/24 (日) 17:01:05) のソース

弾(ミサイル)にスクリプトをaddしておく。
targetが敵のGameObject
スムーズに敵の方へ回転し、transform.forward * speedだけ進む
敵との距離が0.1f以内になれば、敵に対して被弾処理を行う
敵が消滅している場合は自分も消滅する


 void Update () {
	if(target)
	{
		transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(target.transform.position - transform.position), 3f);
		transform.position += transform.forward * speed;
		if( Vector3.Distance( transform.position , target.transform.position )<=0.1f )
		{
			if( target.GetComponent<Enemy>() )
			{
				target.GetComponent<Enemy>().takeDamage(atk);
			}
			GameObject.Destroy(this.gameObject);
		}
	}
	else
	{
		GameObject.Destroy(this.gameObject);
	}
 }