我正在使用smartfox server2x在unity3d中进行多人协作。在这里有2个脚本 a)游戏manager.cs被拖入游戏对象并且b)timer.js脚本被拖入guitext。如何将这个guitext添加到游戏对象中?当我试图这样做时,我得到一个错误,如
“游戏”游戏对象没有附加'GUIText',但是 脚本正试图访问它。
您可能需要在游戏对象“Game”中添加GUIText。或者你的 脚本需要在使用之前检查组件是否已连接。“
这是ma脚本
#pragma strict
public var timeLeft:float = 10.0f;
public var IsTiming : boolean;
//public bool IsTiming = false;
public function Start () {
//IsTiming = false;
}
function test1(vr1:boolean)
{
IsTiming=true;
Debug.Log("enter33333333333"+IsTiming);
//gamemanager = this.GetComponent("GameManager");
}
function OnGUI()
{
Debug.Log("enter2222222222"+IsTiming);
if(GUI.Button(Rect(0, 70, 150, 25), 'counter'))
{
IsTiming = true;
}
if(IsTiming)
{
Debug.Log("enterzzzzzzzzzz");
timeLeft -= Time.deltaTime;
if (timeLeft <= 0.0f)
{
guiText.text = "You ran out of time";
guiText.text = "Time is over";
}
else
{
guiText.text = "Time left = " + timeLeft + " seconds";
}
}
}
如何将此脚本添加到游戏对象“Game”中。
答案 0 :(得分:1)
错误将会发生,因为您的游戏对象没有GUIText组件;你需要先添加一个。
要添加GUIText组件,您可以在gameObject.AddComponent(GUIText)
函数中编写Start
。
或者,您可以通过Unity编辑器菜单添加GUIText组件,方法是组件&gt;添加... ,然后输入 GUIText 。
另外,在脚本中编写guiText
是写GetComponent(GUIText)
的简写!