在函数中对变量进行了赋值,但是在Update函数中任然为空
private GameObject enemy;
void Update()
{
if (enemy != null)
{
transform.LookAt(enemy.transform.position);
}
transform.position += transform.forward * speed * Time.deltaTime;
}
public void LookOn(GameObject obj)
{
enemy = obj;
}
在LookOn函数中Debug显示enemy已赋值,但在Update函数中Debug显示enemy任然为空,执行不了if语句
我试过把enemy变量改为静态,但出现一个情况,假如有多个obj传进来,前一个enemy会被后面传进来的enemy修改掉,导致我的攻击只能打到其中一个敌人
就只在另一个脚本的函数里调用过LookOn函数
public void LaunchSpell()
{
for (int i = 0; i < enemies.Length; i++)
{
if (enemies[i].GetComponent<Enemy>().m_BlowBool == true)
{
GameObject SB = GameObject.Instantiate(spellBall) as GameObject;
SB.transform.SetParent(null);
SB.transform.position = SpellPlace.position;
SB.transform.LookAt(enemies[i].transform.position);
spellBall.GetComponent<SpellBall>().LookOn(enemies[i]);
enemies[i].GetComponent<Enemy>().m_BlowBool = false;
}
}
}