2014-08-30 92 views
-1

我正在Unity中使用C#構建遊戲。我找到了一個幫助我創建項目的教程,但它是用Java編寫的。我碰到這行代碼,我不知道如何將其轉換爲C#:Java到C#轉換

var controller : CharacterController = GetComponent(CharacterController); 

我在:

感謝您的幫助得到一個無效的錯誤!

+0

看起來更像斯卡拉比Java。 – 2014-08-30 19:07:16

+3

你確定這是java嗎? – Max 2014-08-30 19:07:46

+0

該簽名用於在C#中擴展或實現其他類或接口,因此它必須是C#中的類而非var,而Java中則無效。我不認爲這是任何一種語言。 – 2014-08-30 19:08:52

回答

1

我想這是你想要的東西:

CharacterController controller = GetComponent<CharacterController>(); 

CharacterController controller = (CharacterController)GetComponent(typeof(CharacterController)); 

CharacterController controller = GetComponent(typeof(CharacterController)) as CharacterController; 

CharacterController controller = GetComponent("CharacterController") as CharacterController; 

這是Javascript,而不是Java。閱讀(它錯過了;雖然):http://unity3d.com/support/documentation/ScriptReference/GameObject.GetComponent.html

+0

你有沒有沒有自己閱讀文件,或爲什麼你顯示4不同? – 2014-08-30 19:20:57

+0

當我回答這個問題時,我不知道他/她指的是哪個教程,所以我想寫所有的可能性。 – 2014-08-30 19:37:05

1

這將是JavaScript和相應的C#應該是:

var controller = (CharacterController) GetComponent(typeof(CharacterController)); 

編輯:編輯的正確性。 Debojyoti's answer有更好的,通用的選擇。

+0

哦,對不起,我以爲是Java,因爲視頻中的那個人在這裏說「讓我寫一些Java」。謝謝你的幫助!我很感激! – user3281388 2014-08-30 19:11:27

1

在C#中,這將是:

CharacterController controller = GetComponent<CharacterController>();