#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);
}
}
这是我的剧本,当我右键点击鼠标时,它会射出一个闪光,我想要发生的是敌人在它活跃的时候朝着耀斑前进,此刻,我的敌人只是忽略了它。有谁知道为什么?
任何回复都表示赞赏。
答案 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对象上)。