Project1

标题: 事件转译器(160806 更新脚本 未更新范例) [打印本页]

作者: taroxd    时间: 2014-12-28 19:29
标题: 事件转译器(160806 更新脚本 未更新范例)
本帖最后由 taroxd 于 2016-8-8 07:26 编辑

该脚本将事件指令翻译为 Ruby 脚本并执行。其中,事件指令-脚本将会直接嵌入转译后的代码中。
脚本地址:
http://taroxd.github.io/rgss/%E4 ... AF%91%E5%99%A8.html
http://taroxd.github.io/rgss/%E4 ... B5%8C%E5%85%A5.html

不足:
1. 不支持跳转标签。但是可以嵌入任意脚本,可以用 catch throw 或异常机制代替。总之有这个脚本,应该就不再需要跳转的功能了。
2. 存档时不能记录事件执行到的位置
3. 大概没有原来的解释器稳定吧。也许会有 bug。解决 bug 需要打开调试模式并找出脚本中的错误。
4. 公共事件是直接插入,因此无法递归。要实现公共事件的递归,可以用事件脚本的形式开启一个新的解释器。

好处:
1. 任意嵌入脚本。如图所示,类似 @喵呜喵5case 脚本
2. 所有需要字符串的地方(本来就是脚本的除外),都可以通过 <%= code %> 嵌入脚本。
3. 局部变量作用域延长到一次事件的执行。调用公共事件时,公共事件转译后的脚本会直接插入。因此利用局部变量可以直接向公共事件传入参数。



范例:(无DLL) Example.rar (303.65 KB, 下载次数: 181)
作者: 国产吃货    时间: 2014-12-29 12:06
具体用途?





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1