【问题标题】:Unity3d: Execute arbitrary javascript from C# objectUnity3d:从 C# 对象执行任意 javascript
【发布时间】:2012-09-12 19:18:53
【问题描述】:

我愿意

string expression = "2+2";

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

Debug.Log(evaluateExpression(expression); 

我怎样才能做到这一点?

【问题讨论】:

    标签: c# unity3d expression unityscript expression-evaluation


    【解决方案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));
    

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 2017-05-07
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      • 2023-02-04
      • 2015-08-27
      相关资源
      最近更新 更多