问题标签 [angelscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
185 浏览

c++ - 捕获/处理 AngelScript 函数中抛出的异常

我正在玩 AngelScript,我似乎无法理解的一件事是如何捕获从 C++ 抛出但从 AngelScript 调用的异常。这是我到目前为止所得到的:

void print(string)并且void throwSomething()是注册到引擎的两个函数,来源如下。根据AngelScript 文档

使用脚本引擎注册的应用程序函数和类方法允许抛出 C++ 异常。虚拟机将自动捕获任何 C++ 异常,中止脚本执行,并将控制权返回给应用程序。

下面是为处理异常提供的示例代码:

我几乎一字不差地将这段代码复制到我的编辑器中并尝试运行它。不幸的是,即使我将调用包装Execute在一个 try-catch 块中,我仍然得到这个输出:

为了完整起见,这里是throwSomethingand的代码print

所以,我感觉有点卡住了。我尝试注册一个异常翻译功能(请参阅链接文档),希望能有所帮助,但我仍然得到相同的结果。通过查看 Xcode 的调试器,异常似乎发生在主线程中——所以我不确定为什么我的代码或 AngelScript 库中的代码本身都没有捕获到异常。

所以,我想我的问题是:1)我怎样才能在我的程序中捕获异常,或者 2)如果我不能从程序中捕获它,我怎么能在程序不崩溃的情况下处理它?

我在运行 MacOS 10.14.6 和 AngelScript 版本 2.33.0 的 ~2015 MacBook Pro 上运行它,如果相关的话。

0 投票
1 回答
31 浏览

inheritance - Angelscript 从数组中的对象调用覆盖函数

我注意到,如果你有一个类的数组并放入一个从所述类继承的对象并尝试从 for 循环调用覆盖函数,它会运行被覆盖的函数

例子:

输出:

0 投票
1 回答
158 浏览

c++ - 来自 C++ 的 Angelscript 传输数组

我需要将一组图块从 C++ 传输到 Angelscript,我尝试添加一个返回 std::vector 的函数,但它返回此错误


我的代码:

0 投票
2 回答
104 浏览

c++ - 如何使用 AngelScript 注册 SFML Vector2 运算符?

我正在开发一个使用 SFML 的游戏引擎。我目前正在使用 AngelScript 添加脚本,但是,我在使用 AngelScript 注册 sf::Vector2 时遇到了问题。我已经设置了基本的构造函数,我可以在 AngelScript 中使用 sf::Vector,但我需要添加运算符,因为Vector2 foo = Vector2(10.0f, 5.0f);如果没有为类型定义 = 运算符,就无法从 AngelScript 调用。问题是: sf::Vector2 实际上没有定义 = 运算符...是否有解决方法,或者我是否必须创建自己的 vector2 类或重建 SFML 并添加所需的运算符?

0 投票
1 回答
53 浏览

c++ - AngelScript 有非内联 asm 版本吗?

我最近使用AngelScript进行了一些工作,并在尝试在 x64 中编译时遇到了一些链接器错误。如果我尝试在 x86 中编译我的 c++ 代码,一切正常。经过一番研究,我注意到 MSVC 不再支持 x64 的内联汇编。

是否有没有内联汇编的 AngelScript 代码版本,以便我可以在 x64 中编译所有内容?