-1

私は完全な3Dエンジンの一部としてレイトレーサーを書いています。自分で書くのではなく、スクリプト言語にjavascriptを使用することを計画しています。問題は、どうすればそれを使用できるかということです。ところで、レイトレーサーとUIはC#で書かれています。

4

3 に答える 3

5

これは、Javascriptとc#の間の双方向の相互作用を示しています。

  1. Javascriptはac#メソッドを呼び出します
  2. C#は、Javascriptの式の結果を取得します

-

Type scriptType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC"));

dynamic obj = Activator.CreateInstance(scriptType, false);
obj.Language = "javascript";
obj.AddObject("MyClass",new JSAccessibleClass());

obj.Eval("MyClass.MsgBox('Hello World')"); //<--1
var result = obj.Eval("3+5"); //<--2


[ComVisible(true)]
public class JSAccessibleClass
{
    public void MsgBox(string s)
    {
        MessageBox.Show(s);
    }
}
于 2012-08-25T00:27:37.387 に答える
1

JavaScriptを.Netアプリケーションのスクリプトとして使用することは可能ですが、最も一般的な選択肢ではありません。他の言語を選択できる場合-IronPythonまたはLUA.Netが、より良いサポートを得る選択肢になる可能性があります。私は最近、同様の質問にいくつかのリンクをリストしました:npcメソッドを持つクラスを使用してc#によって実行されるnpcスクリプトを記述します

それ以外の場合は、JavaScript.Net(.Netフレームワークの一部)または明示的に.Netまたは.Netバインディングを使用するその他の実装がスクリプト言語として機能します。

于 2012-08-25T00:07:55.337 に答える
1

この目的のために活用できるJavaScriptのスタンドアロン実装はたくさんあります。

これらの実装の上位にリストされているJavaScriptのstackoverflow情報ページへのリンクは次のとおりです:https ://stackoverflow.com/tags/javascript/info

于 2012-08-25T00:03:24.630 に答える