我有这个脚本为我的敌人的健康,我使用我的所有敌人。当敌人死亡时,我需要它来阻止敌人的移动。我有多个不同的敌人移动scipts,因为有些敌人移动不同。当一个敌人死亡时,我怎样才能使他的移动无效?我怎么能像一个游戏对象那样做呢?This in these pictures, for Enemy Movement, how can I make it so I can just drag and drop the script I want disabled into that box?Second picture here.
技术上来说我现在就能用。我做了一个public string EnemyMovement;
,只是键入了脚本名称,我需要在团结督察标签禁用。然后在我的敌人生命脚本中,当敌人死亡时,我运行以下命令:(this.GetComponent(EnemyMovement) as MonoBehaviour).enabled = false;
。
1条答案
按热度按时间bihw5rsg1#
你已经很接近了。我假设你的敌人移动组件总是同一个游戏对象(敌人)上的另一个组件。
如果是这样,你可以使用一个基类EnemyMovement,并从基类派生出特定的移动类(BatMovement,SnakeMovement等)。)。这样,您可以在健康脚本中调用
this.GetComponent<EnemyMovement>()
,直接通过基类型获取组件,而无需使用公共字符串。对于这类问题,最好避免使用字符串,因为编译器无法检查它们的正确性,并且您无法轻松地替换e。例如,在IDE中创建一个类名(以及它的所有引用),而不需要在之后更改每个相关的字符串。