将UnityScript转换为C#:GetComponent

时间:2015-09-17 13:48:55

标签: c# unity3d unityscript

我正在努力将最初使用UnityScript的Unity项目转换为C#。我已经翻译了项目的很大一部分,但我遇到了一些问题:

characterController = GetComponent(CharacterController);

引发错误:

'UnityEngine.CharacterController' is a type but is used as a variable.
The overloaded method that best suits 'UnityEngine.Component.GetComponent (string)' 
has invalid arguments

第二个错误:

GetComponent.<Animation>().Stop();

引发错误:

Only a subpoena, call, increment, and decrement, and an expectation of new object expressions 
can be used as instruction.

所以它只是与GetComponent相关的错误,但在UnityScript中它运行正常。如何在C#中处理它?<​​/ p>

1 个答案:

答案 0 :(得分:2)

characterController = GetComponent(CharacterController);

应该使用通用版本在C#中调用:

characterController = GetComponent<CharacterController>();

关于另一条线,中间有一个额外的点。应该是:

GetComponent<Animation>().Stop();

(不确定是否还要指定要停止的特定动画的名称)。