随笔分类 -  lua

摘要:Lua脚本语法说明(增加lua5.1部份特性)  Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。  所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。  在Lua中,一切都是变量,除了关键字。I. 首先是注释  写一个程序,总是少不了注释的。  在Lua中,你可以使用单行注释和多行注释。  单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。  多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止。这种注释相当于C语言中的"/*...*/"。在注释当中,"[[" 阅读全文
posted @ 2011-01-31 17:07 oayx 阅读(1791) 评论(0) 推荐(0) 编辑
摘要:LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。LuaPlus目前版本为:LuaPlus for Lua 5.01 Distribution Build 1080 (February 28, 2004)。大家可以到http://luaplus.org/ 站点下载:源码 (http://wwhiz.com/LuaPlus/LuaPlus50_Build1081.zip)目标码 (http://wwhiz.com/LuaPlus/LuaPlus50_Build1081_Win32Binaries.zip) 阅读全文
posted @ 2011-01-31 16:18 oayx 阅读(521) 评论(0) 推荐(0) 编辑
摘要:--!版权所有foruok,转载注明出处!--从lua调用C++函数和对象 利用LuaPlus可以方便的从C++中调用lua脚本,翻过也一样。通过注册函数或类对象,lua便可以访问C++。 一、C风格函数注册 Lua提供了C风格的回调函数注册,该函数原型如下: int Callback(LuaState* state); 无论是全局函数、类非虚函数、类虚函数,只要符合上面的原型,都可以向Lua注册。我们以全局函数为例,下面是我们提供的一个回调函数CStyleAddFunc:int CStyleAddFunc(LuaState * state) { LuaStack args(state 阅读全文
posted @ 2011-01-14 17:44 oayx 阅读(2098) 评论(0) 推荐(0) 编辑
摘要:#include "stdafx.h"#include windows.h#include conio.h#include ctype.h#define LUA_FILE "Plus.lua"#include "LuaPlus.h"using namespace LuaPlus;LuaStateOwner g_LusState(true);void CPrint(const char* sMsg){ printf(sMsg); OutputDebugString(sMsg);}int L_CPrint(LuaState* pState){ OutputDebugString("Ta 阅读全文
posted @ 2011-01-14 17:35 oayx 阅读(637) 评论(0) 推荐(0) 编辑
摘要:如何让EditPlus支持LUA这次主要介绍一下学习Lua之前的准备工作。(1) 下载Lua安装包,最新版本是lua-5.1.3. 它的体积很小,只有210Khttp://luaforge.net/frs/?group_id=377这是WINDOWS版本. 附带了编辑器,连环境变量都一次搞定了。(2)安装lua包(3)安装EditPlus编辑器:EditPlus 简单又好用, 我自己喜欢汉化版 http://www.crsky.com/soft/1578.html. 2.3以上版本可以使用一下注册码:Name:www.cnzz.ccCode:60A8E-21F10-5BZ83-ADW4E-F3 阅读全文
posted @ 2010-12-12 09:12 oayx 阅读(422) 评论(0) 推荐(0) 编辑
摘要:简单的配置,先将就用吧,luaplus那由于别人的教材在表循环那里没写清楚,导致浪费了很多时间,最后还是看src才知道。------------------------------------------------------------------------------------------------------tabObjectData = {[0x00001000] = { MeshName = "00040_lian.mesh", MeshDIR = "/models/Player/female/", ShowName = "女主角1", Scale = 0.01, Image 阅读全文
posted @ 2010-12-12 09:12 oayx 阅读(438) 评论(0) 推荐(0) 编辑
摘要:看大家都在研究lua,也参与大潮中。。。折腾半天没折腾好,相当的无语时候,网上找的资料都是你抄写我,我抄袭他的。。 郁闷,只要边抄袭边修改,最后测试成功,整理一个完整的资料发表下。再次感谢“雪明”与一个不知名的网友文章,不知道原作者,也就不发链接了。如何编译1. 下载首先到官方网站下载: http://www.luaplus.org/下载这个: All source code: http://luaplus.org/LuaPlus51_Build1100.zip (我当前的版本,当然越新越好)2. 剥离解开下载包,打开 \LuaPlus51_Build1100\Src\LuaPlus 里面是 阅读全文
posted @ 2010-12-12 09:11 oayx 阅读(6447) 评论(0) 推荐(0) 编辑
摘要:如何在C++中集成Lua脚本(LuaPlus篇)时间:2009-07-30 14:39:54来源:网络 作者:未知 点击:214次  去年我作了一个Lua脚本的C++包装,有许多朋友感兴趣,并尝试使用,我感到受宠若惊。事实上,我作的包装,学习的目的比较强,它还是有许多缺陷的。为了让朋友们少走弯路,我推荐使用LuaPlus作为C++的包装。 去年我作了一个Lua脚本的C++包装,有许多朋友感兴趣,并尝试使用,我感到受宠若惊。事实上,我作的包装,学习的目的比较强,它还是有许多缺陷的。为了让朋友们少走弯路,我推荐使用LuaPlus作为C++的包装。   LuaPlus是Lua的C++增强,也就是说, 阅读全文
posted @ 2010-12-12 09:10 oayx 阅读(713) 评论(0) 推荐(0) 编辑
摘要:Lua 提供了一个自动的内存管理。这就是说你不需要关心创建新对象的分配内存操作,也不需要在这些对象不再需要时的主动释放内存。 Lua 通过运行一个垃圾收集器来自动管理内存,以此一遍又一遍的回收死掉的对象(这是指 Lua 中不再访问的到的对象)占用的内存。 Lua 中所有对象都被自动管理,包括: table, userdata、 函数、线程、和字符串。 Lua 实现了一个增量标记清除的收集器。它用两... 阅读全文
posted @ 2010-10-21 13:52 oayx 阅读(5727) 评论(0) 推荐(0) 编辑
摘要:通常调用一个lua函数需要以下步骤//1.解析函数名,将lua函数压栈findLuaItem("a.b.c.func");//2.参数压栈lua_push()//3.函数调用lua_call()最慢的是第一步解析函数名、反复查表的过程,这个过程会消耗不少时间和空间。如果可以避开这个过程,就能提升效率。函数总有函数指针,就算lua函数没有,也该有个handler吧。这个想法在LuaBind中得到了确... 阅读全文
posted @ 2010-09-24 16:15 oayx 阅读(4128) 评论(0) 推荐(1) 编辑
摘要:作者: Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes Copyright © 2003 Tecgraf, PUC-Rio. All rights reserved. 译者:ShiningRay Nicholas @ NirvanaStudio给予支持 1 - 绪论Lua是一种为支持有数据描述机制的一般... 阅读全文
posted @ 2010-09-24 15:44 oayx 阅读(4976) 评论(0) 推荐(0) 编辑
摘要:使用 Lua 编写可嵌入式脚本Lua 提供了高级抽象,却又没失去与硬件的关联 将此页作为电子邮件发送 ... 阅读全文
posted @ 2010-09-24 15:43 oayx 阅读(874) 评论(0) 推荐(0) 编辑
摘要:去年我作了一个Lua脚本的C++包装,有许多朋友感兴趣,并尝试使用,我感到受宠若惊。事实上,我作的包装,学习的目的比较强,它还是有许多缺陷的。为了让朋友们少走弯路,我推荐使用LuaPlus作为C++的包装。LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。LuaPlus目前版本为:LuaPlus for L... 阅读全文
posted @ 2010-09-24 15:42 oayx 阅读(520) 评论(0) 推荐(0) 编辑
摘要:作者: 沐枫 (第二人生成员)版权所有转载请注明原出处主页:第二人生 http://www.d2-life.com   http://www.d2-life.com/LBS/blogview.asp?logID=39  在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。  Lua 的... 阅读全文
posted @ 2010-09-24 15:41 oayx 阅读(506) 评论(0) 推荐(0) 编辑
摘要:一.Hello World 1.前言    偶最近在学习Lua, 所以写出心得和大家共享, 争取一天写一篇, 嘿嘿.  才开始学所以内容很浅, 希望大家包涵.  Lua是一种完全免费的脚本语言, 可以和C/C++语言紧密结合,  它的官方网站在http://www.lua.org. 在网站上可以下载到lua的源码, 没有可  执行版本, 不过不用担心, 因为lua源码可以在任何一种C/C++的编译... 阅读全文
posted @ 2010-09-24 15:40 oayx 阅读(1986) 评论(0) 推荐(0) 编辑
摘要:作者: 沐枫 (第二人生成员)版权所有转载请注明原出处主页:第二人生 http://www.d2-life.com   http://www.d2-life.com/LBS/blogview.asp?logID=41为什么要用Lua作脚本?  使用Lua作脚本,主要是因为它小巧玲珑(体积小,运行快),而且它的语法又比较简单明了。不过,使用LuaAPI将Lua引擎集成到程序中,确实有一些不方便... 阅读全文
posted @ 2010-09-24 15:40 oayx 阅读(426) 评论(0) 推荐(0) 编辑
摘要:Lua 的 5.1 版本已经正式发布。现在,我们应该把全部讨论放在这个版本上。应该尽量使用 local 变量而非 global 变量。这是 Lua 初学者最容易犯的错误。global 变量实际上是放在一张全局的 table 里的。global 变量实际上是利用一个 string (变量名作 key) 去访问这个 table 。虽然Lua5 的 table 效率很高 ,但是相对于 local 变量,... 阅读全文
posted @ 2010-09-24 15:38 oayx 阅读(1114) 评论(0) 推荐(0) 编辑