因为论坛回档的原因重发_(:3
一个权当抛砖引玉的在RMVA中使用Ruby以外语言(Lua)的例子。性能一般,不太适合高刷新情景,不过当当玩具用还是可以的。
作者: 我 以及 @gqxastg
文档详见Github: https://github.com/Rinkaa/lua-rmva
使用范例: - begin ## 创建Lua实例 $lua = Lua.new if $lua == nil lua = $lua p "Lua: #{lua}" ## 从Lua传递数据到Ruby p lua.eval("return 'Hello World!', 123, 4.56, true, nil") p lua.eval("return {'A', 'B', 'C'}, function() return 'DEF' end") ## 从Ruby传递数据到Lua再返回 p lua.eval("return ...", "Hello World!", 123, 4.56, true, nil) p lua.eval("local num1,num2,str = ...; return num1==2, num2==3.14, str=='Hello'", 2, 3.14, 'Hello') ## 获得LuaJIT的版本信息 p lua.eval("if type(jit) == 'table' then return jit.version end") ## 故意在Lua中引发错误,由Ruby接收 # p lua.eval("error('This is an error'))",rescue p($!.message, $!.backtrace)end复制代码
复制代码
下载文件为脚本正文及脚本范例工程(一个平台跳跃场景,但帧率not good)
本帖来自P1论坛作者域外,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=496859 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |