我正在编写一个光线追踪器作为我完整的 3d 引擎的一部分。我打算使用 javascript 作为脚本语言,而不是自己编写。问题是我该如何使用它?顺便说一句,光线追踪器和 UI 是用 C# 编写的。
问问题
704 次
3 回答
5
这显示了 Javascript 和 c# 之间的双向交互。
- Javascript 调用 ac# 方法
- 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 的独立实现可以用于此目的:
这是 JavaScript 上的 stackoverflow 信息页面的链接,其中列出了许多这些实现:https ://stackoverflow.com/tags/javascript/info
于 2012-08-25T00:03:24.630 回答
1
虽然可以使用 JavaScript 作为 .Net 应用程序的脚本,但它不是最流行的选择。如果您可以选择其他语言 - IronPython 或 LUA.Net 可能是您将获得更好支持的选择。我最近在类似问题中列出了几个链接:Write npc scripts to be executed by c# using class with npc methods。
否则,JavaScript.Net(.Net 框架的一部分)或其他显式 .Net 或具有 .Net 绑定的实现将用作脚本语言。
于 2012-08-25T00:07:55.337 回答