2012-09-12 33 views
2

執行任意的JavaScript我想Unity3d:從C#對象

string expression = "2+2"; 

public string evaluateExpresion(expression) 
{ 
    return executeJavascript(expression); // Magic javascript executor 
} 

Debug.Log(evaluateExpression(expression); 

我怎樣才能做到這一點?

回答

1

你可以用你想要的功能創建一個javascript文件,如果我沒有誤解你的意思,你可以在你的c#文件中調用它們。在您的例子中,你可以創建:

// JavaScriptExpressions.js 

function executeExpression(x : string) { 
    // Some code here.. 
} 

JavaScript文件,你可以通過拖動的js訪問功能相同的與你的C#文件轉換,也可以將其拖動到一個不同的變換。或者,如果它未連接到單聲道庫,則可以將其設置爲靜態。以下是c#的示例代碼:

// YourCsharp.cs 
string expression = "2+2"; 

public string evaluateExpresion(string expression) { 
    return transform.GetComponent<JavaScriptExpressions>().executeExpression(expression); 
} 

Debug.Log(evaluateExpression(expression));