![](/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.