unity3d 使用一个脚本禁用2个不同的脚本只有当特定的敌人死亡,Unity2D

vdzxcuhz  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(158)

我有这个脚本为我的敌人的健康,我使用我的所有敌人。当敌人死亡时,我需要它来阻止敌人的移动。我有多个不同的敌人移动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;

bihw5rsg

bihw5rsg1#

你已经很接近了。我假设你的敌人移动组件总是同一个游戏对象(敌人)上的另一个组件。
如果是这样,你可以使用一个基类EnemyMovement,并从基类派生出特定的移动类(BatMovement,SnakeMovement等)。)。这样,您可以在健康脚本中调用this.GetComponent<EnemyMovement>(),直接通过基类型获取组件,而无需使用公共字符串。
对于这类问题,最好避免使用字符串,因为编译器无法检查它们的正确性,并且您无法轻松地替换e。例如,在IDE中创建一个类名(以及它的所有引用),而不需要在之后更改每个相关的字符串。

相关问题