我正在Unity中使用C#構建遊戲。我找到了一個幫助我創建項目的教程,但它是用Java編寫的。我碰到這行代碼,我不知道如何將其轉換爲C#:Java到C#轉換
var controller : CharacterController = GetComponent(CharacterController);
我在:
感謝您的幫助得到一個無效的錯誤!
我正在Unity中使用C#構建遊戲。我找到了一個幫助我創建項目的教程,但它是用Java編寫的。我碰到這行代碼,我不知道如何將其轉換爲C#:Java到C#轉換
var controller : CharacterController = GetComponent(CharacterController);
我在:
感謝您的幫助得到一個無效的錯誤!
我想這是你想要的東西:
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
你有沒有沒有自己閱讀文件,或爲什麼你顯示4不同? – 2014-08-30 19:20:57
當我回答這個問題時,我不知道他/她指的是哪個教程,所以我想寫所有的可能性。 – 2014-08-30 19:37:05
這將是JavaScript和相應的C#應該是:
var controller = (CharacterController) GetComponent(typeof(CharacterController));
編輯:編輯的正確性。 Debojyoti's answer有更好的,通用的選擇。
哦,對不起,我以爲是Java,因爲視頻中的那個人在這裏說「讓我寫一些Java」。謝謝你的幫助!我很感激! – user3281388 2014-08-30 19:11:27
在C#中,這將是:
CharacterController controller = GetComponent<CharacterController>();
看起來更像斯卡拉比Java。 – 2014-08-30 19:07:16
你確定這是java嗎? – Max 2014-08-30 19:07:46
該簽名用於在C#中擴展或實現其他類或接口,因此它必須是C#中的類而非var,而Java中則無效。我不認爲這是任何一種語言。 – 2014-08-30 19:08:52