【发布时间】:2020-10-21 09:30:25
【问题描述】:
这是我陷入的 OOP 问题。 假设我有这种情况 Player.cs:
public class Player
{
int hp,armor;
string nickName;
public Player()
{
hp=3;
armor=3;
nickName="Unknown";
}
public void minusHP()
{
hp--;
}
}
PlayerManager.cs
public class PlayerManager
{
Player p = new Player();
}
TakeDMG.cs
public class TakeDMG
{
//if event happens then :
p.minusHP();
}
如何从不同的脚本访问播放器实例并使用它,如何在另一个脚本中为它声明其他方法?
【问题讨论】:
-
如果脚本附加到播放器,那么您可以简单地使用
gameObject字段作为对播放器对象的引用。然后,使用 GetComponent 获取另一个脚本的实例。 -
@Pac0 我每次访问实例时都必须为脚本获取组件,但我不记得我在哪里看到一些 youtuber 只是以另一种更简单的方式访问它,但我不记得如何
-
我写了一个正确的答案,如果不清楚,请不要犹豫
-
我必须强烈推荐你观看一些 Unity 教程。