我试图通过触碰一个立方体来改变另一个脚本中的变量。
当前设置:
- 1个玩家
- 1个敌人
每个角色都有自己的脚本Enemy_Stats
和Character_Stats
。
正如您在这个小片段中看到的,从另一个脚本访问变量需要相当大的工作量。
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Enemy")
{
collision.gameObject.GetComponent<Enemy_Stats>().Health =
collision.gameObject.GetComponent<Enemy_Stats>().Health
- gameObject.GetComponent<Character_Stats>().AttackDamage;
if (collision.gameObject.GetComponent<Enemy_Stats>().Health <= 0)
{
Destroy(collision.gameObject);
}
}
}
我刚接触Unity,但是难道没有可以像这样引用它的方法吗:
collision.Health
?