网站大量收购闲置独家精品文档,联系QQ:2885784924

【游戏开发笔记】--Lua基础与应用.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【游戏开发笔记】--Lua基础与应用

【游戏开发笔记】Lua基础与应用 有关Lua的FAQ Q:Lua是什么? A:Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。(感谢百度百科) Q:为什么用Lua? A: 1、开源,就是不用钱。 2、灵活扩展你的软件(增加游戏关卡,制作文字类游戏等等) 3、灵活进行软件配置(例如一个GUI程序的界面微调,而且支持if...else...这样的配置方式,爽吧) 4、弱类型,这意味着在宿主语言内比较麻烦的逻辑计算操作都可以扔给lua 5、纯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 和 false Numbers是数值类型,在lua里面,你学过的int float double long short都是这种数值类型,所以知道lua为什么被叫做弱类型语言了吧 而且由于我们可以这样声明一个Numbers a = 4 b = 0.4 c = 4.57e - 3 d = 0.3e12 跟python一样,lua变量的类型只有在执行脚本的时候被确定,所以前面不用声明类型 Strings是字符串类型 通用地,我们这样声明一个Strings s = 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)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档