- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【游戏开发笔记】--Lua基础与应用
【游戏开发笔记】Lua基础与应用
有关Lua的FAQQ:Lua是什么?A:Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。(感谢百度百科)Q:为什么用Lua?A: 1、开源,就是不用钱。2、灵活扩展你的软件(增加游戏关卡,制作文字类游戏等等)3、灵活进行软件配置(例如一个GUI程序的界面微调,而且支持if...else...这样的配置方式,爽吧)4、弱类型,这意味着在宿主语言内比较麻烦的逻辑计算操作都可以扔给lua5、纯c编写,意味着比python这样的老牌脚本语言运行更快(话说python跑在虚拟机上的,跟java差不多)Q:我感觉我很菜,能学习Lua么?A:话说我也很菜。。。总之你学会c语言后就能学Lua了,programming in lua里面有lua与c交互的例子。会c++更佳,游戏开发你总要会c++吧
新手任务——编译静态库,解析器,编译器lua官网/找到必威体育精装版的版本5.2.2下载下来其实我们得到的是一堆源码,打开src文件夹看看所以我们要自己编译想要的东西= =
先打开高端洋气的vs2012(呵呵(配置方法跟微软其他的IDE差不多,只用vs2012举例)新建一个空的控制台程序。然后把lua源码复制到工程目录下并添加到项目在release下配置类型为lib为了编译静态库,需要把下面两个文件移除到工程外(lua.cpp是编译解析器的,luac就是用来编译编译器的= =)如果你是用vs2012编译lib,请添加这个宏(感谢CHU提醒)_CRT_SECURE_NO_WARNINGS编译成功,生成lib
收起回复
6楼
2013-07-05 08:25
举报?|
wishout:?自己在桌面建一个文件夹先把lib保存起来吧= =
2013-7-5 08:27?回复
⑨chu:?你为何不直接点上面那个静态库呢。。。
2013-7-7 00:04?回复
梦里—唱忧伤:?同问,建工程直接选静态库就是。
接下来编译解析器= =把配置类型改为exe 把用来编译解析器的lua.cpp添加回项目中编译ok,生成编析器为了在控制台下使用方便,可以改名为lua.exe继续保存到新建的文件夹里= =
编译解编译器,把luac.cpp添加到项目,移除lua.h,lua.cpp改名为luac.exe保存到刚才的文件夹下,现在我们要用到的东西都做好了,欧耶~
在使用这些东西之前,我们先来简单地了解一下lua语法,想深入学习的同学自己找些专业的资料1、lua类型lua分为这些类型Nil、Booleans、Numbers、Strings、Functions、Userdata、Threads这些看名字都能懂吧。Nil就是空,就是什么都没有(话说在java里面null不是一个对象,那老师怎么整天在说java一切都是对象,害我java考试那题没分了= =)Booleans是布尔型,true 和 falseNumbers是数值类型,在lua里面,你学过的int float double long short都是这种数值类型,所以知道lua为什么被叫做弱类型语言了吧而且由于我们可以这样声明一个Numbersa = 4b = 0.4c = 4.57e - 3d = 0.3e12跟python一样,lua变量的类型只有在执行脚本的时候被确定,所以前面不用声明类型Strings是字符串类型通用地,我们这样声明一个Stringss = hello wishout!那些转义字符例如\n, \t, \\跟c是一样的,放心用吧Functions是函数类型在lua里面,我们这样下面的形式使用函数function [函数名]([参数一], [参数二], [参数三]...)end?哈哈,很简单吧比如我们写一个NPC对话的函数function PrintNPCMsg(msg)print(msg)end
2、表达式算术运算符+ - * / ^(加减乘除,还有幂!)-(相反数)关系运算符 = = == ~=注意lua里面没有!=这个东西,被取代为~=逻辑运算符and or not(与、或、非)特殊地,在字符串操作中,lua有很方便的一个操作符..(两个点号,用来连接连个字符串)例如hello .. wishout! == hello wishout!
3、luaの神器——table的构造为什么说table是神器呢?因为它很神啊!(废话)table是lua里特有的东西(也不算特有吧,python也有元组,字
文档评论(0)