提问人:kenLeeDep 提问时间:9/2/2023 更新时间:9/2/2023 访问量:24
Unity 从另一个对象的脚本调用方法
Unity Calling a method from a script of another object
问:
在我使用 Unity 获得一些实际编码经验的过程中,我决定基本上创建一个游戏管理器对象来存储敌方对象可以调用并确定其行为的方法。我遇到的问题是我无法这样做,尽管我的方法在敌方物体本身中使用时有效。
我研究了如何做到这一点,并确信我编码正确,但显然不是。所以下面是我的代码。
敌方对象上的代码:
private GameObject gameManager;
private ForTesting forTesting;
// Start is called before the first frame update
void Start()
{
gameManager = GameObject.Find("GameManager");
forTesting = gameManager.GetComponent<ForTesting>();
}
// Update is called once per frame
void Update()
{
forTesting.Test();
}
GameManager (空)对象 ForTesting 脚本上的代码The code on the GameManager (empty)object ForTesting 脚本
public void Test()
{
transform.Translate(Vector3.forward * 20 * Time.deltaTime);
}
我还测试了将 ForTesting 脚本添加到 enemy 对象本身,并简单地将 void Start() 更改为
forTesting = GetComponent<ForTesting>();
以上方法有效,我个人认为这仍然适用于我正在从事的项目,但我不想在没有首先了解我最初的实现出了什么问题的情况下继续,而且我不确定哪种方法更好,或者是否存在更好的方法。
感谢您的阅读。
答: 暂无答案
评论