使敌人跟随耀斑

时间:2013-11-06 17:05:32

标签: unity3d flare

#pragma strict

var flare : GameObject;
var speed : float = 1;

function Start () 
{
    flare = GameObject.FindGameObjectWithTag("flare");
}

function Update () 
{

    var distance = Vector3.Distance(flare.transform.position, transform.position);

    if (distance < 100)
    {
        Debug.Log ("Enemy is close to flare");

        var delta = flare.transform.position - transform.position;
        delta.Normalize();

        var moveSpeed = speed * Time.deltaTime;

        transform.position = transform.position + (delta * moveSpeed);
    }
    else
    {
        Debug.Log("Not close yet" + distance);
    }

}

这是我的剧本,当我右键点击鼠标时,它会射出一个闪光,我想要发生的是敌人在它活跃的时候朝着耀斑前进,此刻,我的敌人只是忽略了它。有谁知道为什么?

任何回复都表示赞赏。

1 个答案:

答案 0 :(得分:1)

我不确定Javascript - 但在C#中(类似)你可以做一些改变。

void Start( ){
    flare = GameObject.FindObjectWithTag( "flare" ).transform;
}
void Update( ){
    var distance = Vector3.Distance(flare.transform.position, transform.position);
    if( distance < 100 ){
        transform.position = Vector3.MoveTowards( transform.position, 
                                                  flare.transform.position,
                                                  speed * Time.deltaTime );
    } else {
        //Do otherthings
    }
}

确保此脚本已附加到AI游戏框架或正在引用它(我假设脚本中的脚本位于AI对象上)。