![](/img/trans.png)
[英]to transcribe a string calling it with the name of another string, is it possible? in c# on unity
[英]Unity C# Calling script via string with varying name
我的目标是在战斗脚本中,从CombatHandler调用附加到敌人的脚本中的死亡函数。 问题在于敌人的敌人不会保持不变,因此脚本名称必须更改! 例如,一个敌人将拥有一个名为EnemySalamander的脚本,下一个敌人将拥有一个名为EnemyGoblin的脚本(这些控制敌人的数据,等等)。
这是战斗人员的代码片段
if (healthEnemy < 0) {
healthEnemy = 0;
Debug.Log ("You killed a "+nameEnemy+". You have "+ps.health+" health left!");
//pcc.gameObject.scriptname.death ();
clearEnemy ();
} else if (ps.health < 0) {
clearEnemy ();
ps.health = 0;
Debug.Log ("You died with the enemys health left at " + healthEnemy);
}
我已经注释掉需要在gameObject脚本上调用death方法的部分。 Pcc.gameobject是我可以直接访问我要攻击的gameObject(Enemy)的地方。
这正是GetComponent()
所做的。 官方文档并未明确指出,传入类也将找到属于指示的Type的子类的任何组件,但是它将:
在GetComponent中使用基类获取派生类?
是的,这将如您所愿地起作用。
Unity Answers QA中没有大量的文字可以真正引用。 它从那直接进入实现和结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.