據我所見,我的問題以前沒有得到答覆。我使用Unity爲Windows Phone 8創建應用程序,並且我想獲取用戶的輸入並將其作爲代碼執行。現在通常使用JavaScript,可以使用eval(「代碼在這裏」),但Unity不喜歡這樣,並且說我的目標(WP8)不允許使用eval()。使用Unity的UnityScript或C#中的Eval()替換
所以我的問題是 - 我怎麼能在沒有使用eval()的情況下,在沒有依賴窗口或附加腳本的情況下,在C#或UnityScript中執行代碼 - 基本上它可以與Unity一起工作。例如,如果我可以使用eval,我會這樣做:eval(「createCuboid(0,1,2)」);
感謝您的幫助。
編輯: 因此,我正在製作一個應用程序,允許用戶在GUI.TextField中輸入一行代碼。當用戶點擊一個按鈕時,它將獲得他們的代碼並運行它。在我的例子createCuboid(0,1,2)中,我有自己的函數,根據用戶的規範創建一個長方體(如參數中所示)。
我想要這個的原因是因爲我希望用戶能夠自由操作3D環境而不必進行更多的縮小操作 - 例如,必須點擊一個帶有createCuboid的按鈕,然後輸入參數在多個領域。我有多個功能用戶可以調用來操縱環境。
這有幫助嗎?
你能否多發一點你想解決的問題?因爲你不應該這樣做,這聽起來像你正在以完全錯誤的方式去做某件事。 –
據我所知,C#不提供這樣的東西。你可以編寫你自己的解釋器來解析參數並使用反射來設置所有東西,但是這將是很多工作(並且可能非常危險)。 –
適用於JavaScript的所有內容?我有點得出這樣的結論:在C#中這樣做是不可能的。 – user1785715