弾(ミサイル)にスクリプトを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);
}
}
最終更新:2015年05月24日 17:01