as3中可以使用lua,要用到一个类库:lua-alchemy。
我测试用的是lua-alchemy-v0_2a.swc,不是最新的。可以自行搜索下载最新的(https://github.com/lua-alchemy/lua-alchemy这个下载了不知道怎么用)。或者直接下载下面的源码,lua-alchemy具体使用方法可以看下面的参考文章。
var lua:LuaAlchemy = new LuaAlchemy(); lua.setGlobal("this", this); lua.setGlobalLuaValue("output", tf2); btn.addEventListener(MouseEvent.CLICK, runLua); function runLua(e:MouseEvent):void { var arr:Array = lua.doString(tf.text); for (var i:int = 0; i < arr.length;i++ ) { trace("输出:"+arr[i]); } }
基本的是上面几句代码,tf,tf2是舞台上的两个文本框,tf用于输入lua脚本,tf2用于输出,btn是一个按钮,点击按钮运行lua脚本。首先new一个LuaAlchemy,点击按钮的时候,调用lua.doString,传入输入的字符串,返回值是一个数组(数组内容可以trace一下看看)。 最简单的测试:可以在tf1中输入print "hello world"来看看控制面板的输出。 加上lua.setGlobalLuaValue("output", tf2); 运行之后,在tf1中输入as3.set(output,"text","hello world");点击运行,tf2中就会显示hello world。 其他详细功能,请参考下面的两篇文章。
补充:
https://github.com/lua-alchemy/lua-alchemy可以从这里下载最新的,如何使用可以看看demo,如果和我一样看不懂的话,可以看下面这个,就是wiki里边的内容,应该算是这个项目的API了吧。
https://github.com/lua-alchemy/lua-alchemy/commit/52ddefc825df8487e7455ffcca6942c849b95708
参考:
http://www.cnblogs.com/GameCode/archive/2012/07/20/2600417.html
http://blog.csdn.net/tcguitar8888/article/details/4107297
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。