我正在努力将最初使用UnityScript的Unity项目转换为C#。我已经翻译了项目的很大一部分,但我遇到了一些问题:
第一个问题与GetComponent
相关联。我有一个文件EnnemyController.cs
,其中包含许多get / set enemies函数。但在完成所有这些功能之前,我需要初始化characterController
。
private CharacterController characterController;
characterController = GetComponent<CharacterController>();
您可以在此处查看上下文:http://pastebin.com/U09aH4ZA。如果我在函数中添加上面的代码它正在工作但不在类中...返回给我以下错误:
UnityEngine.Component.GetComponent (string) is a method but is used as a type
EnemyController.characterController is a field but is used as a type
第二个问题与C#中的数组相关联。更准确地说,使用数组数组,UnityScript就是这样的:
var connected : Array = Array ();
static var waypoints : Array = Array ();
var objects : Object [] = FindObjectsOfType ( AutoWayPoint );
waypoints = Array ( objects );
我不知道如何翻译此类内容,您可以在此处查看整个文件:http://perche.jeremy.free.fr/sup_scr/AutoWayPoint.js
为了完成,我想知道IEnumerator和IEnumerable之间的区别。
答案 0 :(得分:2)
似乎是您的第一个错误,因为您在任何方法之外调用GetComponent<CharacterController>()
,尝试在Start()方法上执行此操作。
int []arrayOfInts = new int[20];
)使用类似ArrayList的内容。现在,您必须确定将使用哪种元素。
您的上一个问题已在此处得到解答:What is the difference between IEnumerator and IEnumerable?