我正在尝试使用 OnTriggerEnter 函数更改 Health 变量。这有效,但仅限于函数内部。其他地方都保持不变。
using UnityEngine;
public class EnemyInteractions : MonoBehaviour
{
public int Health;
public void Start()
{
Health = 10;
}
public void OnTriggerEnter(Collider player)
{
if (player.gameObject.tag == "Enemy")
{
print("HIT");
Health -= 1; // won't change outside function
Debug.Log(Health);
}
}
}
我尝试了各种方法,从使用另一个变量来获取 Health 变量本身以及使用我能找到的任何其他方法,但它不起作用。不过,
Debug.Log(Health);
确实显示了正确的数字,因此它确实发生了变化,但显然仅在函数本身中发生了变化。
如何访问 EnemyInteractions 类?就像 @BugFinder 提到的,你有错误的实例。因此,了解如何访问实例会有所帮助。