如何从脚本中调用脚本函数

时间:2014-06-28 20:12:18

标签: unity3d unityscript

我创建了两个脚本,一个是scrpt_Enemy,另一个是scrpt_GameManager

我想从SubtractLive()拨打scrpt_GameManager功能(存在scrpt_Enemy)。但它给出了错误,我不知道为什么。错误是' SubtractLive'不是UnityEngine.Component'。

的成员

scrpt_Enemy:

var gameManager : GameObject;
gameManager.GetComponent("scrpt_GameManager").SubtractLive();

scrpt_GameManager:

var lives : int =3;

function SubtractLive(){
    lives -= lives;
}

1 个答案:

答案 0 :(得分:1)

问题

你告诉Unity gameManager属于GameObject类型。因此Unity很吓人,因为它在GameObject下没有SubtractLive()

解决方案

您可以像这样获得正确的参考:

创建变量然后告诉Unity它的类型是什么。

var gameManager : scrpt_GameManager;

找到附有脚本的GameObject。

gameManager = GameObject.Find("GameManagerGameObject").GetComponent("scrpt_GameManager");

请注意,“ GameManagerGameObject ”是场景中GameManager的名称。

现在你已经引用了脚本,只需调用这个函数:

gameManager.SubtractLive();