欢迎来到天天文库
浏览记录
ID:9870752
大小:225.00 KB
页数:19页
时间:2018-05-13
《【游戏开发笔记】--lua基础与应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、【游戏开发笔记】Lua基础与应用有关Lua的FAQQ:Lua是什么?A:Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。(感谢百度百科)Q:为什么用Lua?A:1、开源,就是不用钱。2、灵活扩展你的软件(增加游戏关卡,制作文字类游戏等等)3、灵活进行软件配置(例如一个GUI程序的界面微调,而且支持if...else...这样的配置方式,爽吧)4、弱类型,这意味着在宿主语言内比较麻烦的逻辑计算操作都可以扔给lua5、纯c编写,意味着比python这样的老牌脚本
2、语言运行更快(话说python跑在虚拟机上的,跟java差不多)Q:我感觉我很菜,能学习Lua么?A:话说我也很菜。。。总之你学会c语言后就能学Lua了,programminginlua里面有lua与c交互的例子。会c++更佳,游戏开发你总要会c++吧一、新手任务——编译静态库,解析器,编译器lua官网http://www.lua.org/找到最新的版本5.2.2下载下来其实我们得到的是一堆源码,打开src文件夹看看所以我们要自己编译想要的东西==先打开高端洋气的vs2012(呵呵(配置方法跟微软其他的IDE差不多,只用vs2012举例)新建一个空
3、的控制台程序。然后把lua源码复制到工程目录下并添加到项目在release下配置类型为lib为了编译静态库,需要把下面两个文件移除到工程外(lua.cpp是编译解析器的,luac就是用来编译编译器的==)如果你是用vs2012编译lib,请添加这个宏(感谢CHU提醒)_CRT_SECURE_NO_WARNINGS编译成功,生成lib收起回复·6楼·2013-07-0508:25·举报
4、·wishout: 自己在桌面建一个文件夹先把lib保存起来吧==2013-7-508:27 回复·⑨chu: 你为何不直接点上面那个静态库呢。。。2013-7-7
5、00:04 回复·梦里—唱忧伤: 同问,建工程直接选静态库就是。接下来编译解析器==把配置类型改为exe把用来编译解析器的lua.cpp添加回项目中编译ok,生成编析器为了在控制台下使用方便,可以改名为lua.exe继续保存到新建的文件夹里==编译解编译器,把luac.cpp添加到项目,移除lua.h,lua.cpp改名为luac.exe保存到刚才的文件夹下,现在我们要用到的东西都做好了,欧耶~在使用这些东西之前,我们先来简单地了解一下lua语法,想深入学习的同学自己找些专业的资料1、lua类型lua分为这些类型Nil、Booleans、Numbe
6、rs、Strings、Functions、Userdata、Threads这些看名字都能懂吧。Nil就是空,就是什么都没有(话说在java里面null不是一个对象,那老师怎么整天在说java一切都是对象,害我java考试那题没分了==)Booleans是布尔型,true和falseNumbers是数值类型,在lua里面,你学过的intfloatdoublelongshort都是这种数值类型,所以知道lua为什么被叫做弱类型语言了吧而且由于我们可以这样声明一个Numbersa=4b=0.4c=4.57e-3d=0.3e12跟python一样,lua变
7、量的类型只有在执行脚本的时候被确定,所以前面不用声明类型Strings是字符串类型通用地,我们这样声明一个Stringss="hellowishout!"那些转义字符例如'','t','\'跟c是一样的,放心用吧Functions是函数类型在lua里面,我们这样下面的形式使用函数function[函数名]([参数一],[参数二],[参数三]...)end 哈哈,很简单吧比如我们写一个NPC对话的函数functionPrintNPCMsg(msg)print(msg)end2、表达式算术运算符+-*/^(加减乘除,还有幂!)-(相反数)关系运
8、算符<><=>===~=注意lua里面没有!=这个东西,被取代为~=逻辑运算符andornot(与、或、非)特殊地,在字符串操作中,lua有很方便的一个操作符..(两个点号,用来连接连个字符串)例如"hello".."wishout!"=="hellowishout!"3、luaの神器——table的构造为什么说table是神器呢?因为它很神啊!(废话)table是lua里特有的东西(也不算特有吧,python也有元组,字典之类的东西)类似于c语言里面数组的东西构造方法如下mytable={"wishout","sama","i","love","
9、you!",1,2,3}table里面可以放你任何想放的东西table构造完以后,我们像访问数组一样访问table,注意l
此文档下载收益归作者所有