【发布时间】:2019-02-05 06:46:53
【问题描述】:
我正在统一制作我的第一个敌人 AI。我正在尝试使用动画控制器制作一个完成的状态机。
我刚刚发现了当 AI 处于状态时调用的 StateMachineBehaviour 脚本。它有多种方法,包括 OnStateEnter。每次AI进入状态时调用。
我的问题只是关于优化,我的 AI 需要获取 GameObject "Player" 才能攻击它。所以我现在在我的 OnStateEnter 方法中得到它,我觉得这很糟糕,因为每次调用动画时我都会得到它,我只想在开始时得到它一次。
我基本上需要一个启动功能,但它不起作用,我进行了研究,但一无所获。我试图观看有关制作完成状态机的人的视频,但他们只是多次获得相同的游戏对象(例如:https://youtu.be/dYi-i83sq5g?t=409)。
那么,有没有办法拥有一个启动函数或只获取一个元素一次? 我可以创建一个仅在第一次调用并获取 GameObject 的 bool,但如果在我的函数中运行,这将是“无用的”。
有什么建议吗?谢谢
【问题讨论】:
-
好吧,如果我用 Debug 创建一个 Start 函数,什么都不会出现,所以我猜在 StateMachineBehaviour 中没有实现 start 函数?或者也许我错过了一些东西。