我有2个脚本:控制台和测试。我想从测试脚本中调用“appendLogLine”函数,但无法使其正常工作。
Console.cs:
public class ConsoleController
{
public void appendLogLine(string line)
{
if (line == "Unable to process command ''")
return;
Debug.Log(line);
if (scrollback.Count >= ConsoleController.scrollbackSize)
{
scrollback.Dequeue();
}
scrollback.Enqueue(line);
log = scrollback.ToArray();
if (logChanged != null)
{
logChanged(log);
}
}
}
test.cs中:
public GameObject ConsoleObject;
public void CallLog()
{
ConsoleObject.GetComponent<ConsoleController>.appendLogLine ("Test123");
}
我得到错误:“错误CS0119:表达式表示method group', where a
变量',value' or
类型'是预期的”
答案 0 :(得分:4)
要使用GetComponent
,您正在执行MonoBehaviour
的脚本必须从public class ConsoleController {}
继承。这不是这种情况。
public class ConsoleController : MonoBehaviour {}
应为GetComponent
现在,您在ConsoleController
脚本上使用GetComponent
。请注意,您也忘记了“()”。您必须包括,因为ConsoleObject.GetComponent<ConsoleController>().appendLogLine("Test123");
是一个函数。
应该是这样的:
translatedWord = $translate.instant(YOUR_KEY,{},"",YOUR_LANGUAGE);