quick-cocos2d-x从零开始游戏开发笔记(二):Lua语言基础学习
2014-03-27 21:49
971 查看
Qucik-x的开发离不开Lua语言的支持。下面就简单介绍下Lua语言的语法基础。
推荐的开发方式是sublime + QuickXDev + player.exe(quick-cocos2dx的exe程序)
Lua 5.1.4点此下载
SublimeText3
点此下载
安装过程我就不赘述了,网上很容易找的到。
打开SublimeText3,首先需要增加Lua语言的编译系统:
把下面的代码拷贝进去:
首先来试一下最简单的打印命令:新建一个文件,保存为a.lua,在里面写入print("Hello Lua !"),保存一下。按Ctrl + B ,是不是成功在控制台输出了Hello Lua
! 呢?
作为一种脚本语言,Lua学起来还是比较容易上手的。本人看了两天,总结了一些语法的规律,和大家分享一下,实际的应用技巧还需要在练习和实战项目中不断的领悟和提高。其实最好的学习语言的方式,就是看别人写的代码,通过和自己写出来的相互比较印证,找出不足。
一、注释
单行注释:--
多行注释:--[[ string ]]--
二、变量
①.变量类型
Lua中,变量大概分为以下几种:
1.数字(没有int,float,double之类的划分)2.字符串(字符串连接关键字 .. )3.thread(lua中,thread线程,也可以是一种变量)4.function(fu nction中的参数也可以直接传给变量,a = function(v);a(v))5.table({ } 就代表table类型;也是lua中唯一使用{ }的地方)6.其他类型
②.变量作用域
local前面有local关键字的变量代表局部变量,不可以被其他lua文件访问到。
直接写变量名,代表全局变量。默认没有关键字的变量都是global类型的。
三、条件判断语句
local a = 1
if a == 10 then
print("a's value is 10")
elseif a ~= 10
print("a's value is:"..a)
end
需要注意的是,Lua里面的elseif是连起来写的,然后..代表字符连接,相当于js里面的+号还需要注意的是,Lua语言的不等于比较符号 是用~=
来表示的
四、逻辑运算符
and并且
or或者
not永远返回的只有 true 或者 false
while不为true,就一直执行下去。
repeat相当于其他语言的do while。
五、引用其他文件
require("res/bird") 找项目路径下res文件夹下的bird.lua文件CCFileUtils:sharedFileUtils():addSearchPath("res/bird/") 红色的斜杠是要加的,不然会找不到bird路径下的文件
六、其他需要注意的细节
①.function fu( ... )...代表可变参数
②.Lua里面的索引默认是从1开始的
暂时就想到这么多了。其他的以后再回过头来补充吧,有了上面的基本语法,大致就能看懂Lua代码了。
推荐的开发方式是sublime + QuickXDev + player.exe(quick-cocos2dx的exe程序)
Lua 5.1.4点此下载
SublimeText3
点此下载
安装过程我就不赘述了,网上很容易找的到。
打开SublimeText3,首先需要增加Lua语言的编译系统:
把下面的代码拷贝进去:
{ "cmd": ["lua", "$file"], "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)", "selector": "source.lua" }保存一下之后,在编辑系统里面选择Lua就可以在SublimeText3里面进行编译了。
首先来试一下最简单的打印命令:新建一个文件,保存为a.lua,在里面写入print("Hello Lua !"),保存一下。按Ctrl + B ,是不是成功在控制台输出了Hello Lua
! 呢?
作为一种脚本语言,Lua学起来还是比较容易上手的。本人看了两天,总结了一些语法的规律,和大家分享一下,实际的应用技巧还需要在练习和实战项目中不断的领悟和提高。其实最好的学习语言的方式,就是看别人写的代码,通过和自己写出来的相互比较印证,找出不足。
一、注释
单行注释:--
多行注释:--[[ string ]]--
二、变量
①.变量类型
Lua中,变量大概分为以下几种:
1.数字(没有int,float,double之类的划分)2.字符串(字符串连接关键字 .. )3.thread(lua中,thread线程,也可以是一种变量)4.function(fu nction中的参数也可以直接传给变量,a = function(v);a(v))5.table({ } 就代表table类型;也是lua中唯一使用{ }的地方)6.其他类型
②.变量作用域
local前面有local关键字的变量代表局部变量,不可以被其他lua文件访问到。
直接写变量名,代表全局变量。默认没有关键字的变量都是global类型的。
三、条件判断语句
local a = 1
if a == 10 then
print("a's value is 10")
elseif a ~= 10
print("a's value is:"..a)
end
需要注意的是,Lua里面的elseif是连起来写的,然后..代表字符连接,相当于js里面的+号还需要注意的是,Lua语言的不等于比较符号 是用~=
来表示的
四、逻辑运算符
and并且
or或者
not永远返回的只有 true 或者 false
while不为true,就一直执行下去。
repeat相当于其他语言的do while。
五、引用其他文件
require("res/bird") 找项目路径下res文件夹下的bird.lua文件CCFileUtils:sharedFileUtils():addSearchPath("res/bird/") 红色的斜杠是要加的,不然会找不到bird路径下的文件
六、其他需要注意的细节
①.function fu( ... )...代表可变参数
②.Lua里面的索引默认是从1开始的
暂时就想到这么多了。其他的以后再回过头来补充吧,有了上面的基本语法,大致就能看懂Lua代码了。
相关文章推荐
- [ IOS-Cocos2d-x 游戏开发] - Lua 开发之一(Lua-基础语言学习)
- Cocos2d-x游戏开发之Lua学习笔记
- quick-cocos2d-x从零开始游戏开发笔记(四):参照Flappy Bird制作第一个游戏②
- quick-cocos2d-x从零开始游戏开发笔记(一):环境搭建
- quick-cocos2d-x从零开始游戏开发笔记(三):参照Flappy Bird制作第一个游戏①
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十六课:Cocos2D-X几何图形1-3
- 【Cocos2d-X开发学习笔记】第25期:游戏背景之瓦片地图集类(CCTMXTiledMap)的使用
- Cocos2d-x-Lua (2.x)脚本开发之 Lua语言基础
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十三课:Cocos2D-X音频系统1-3
- 【Cocos2d-html5游戏引擎学习笔记(1)】游戏引擎初探究和搭建开发环境
- 基于Cocos2D的IOS游戏开发进阶与实践 —— Stage 2 —— 学习笔记
- cocos2dx游戏开发学习笔记3-lua面向对象分析
- 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)
- os-cocos2d游戏开发基础-进度条-开发笔记
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十九课:Cocos2D-X粒子系统1-3
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3
- 嵌入式开发之C语言基础第三天&第四天学习笔记
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
- Silverlight4深蓝游戏开发学习笔记(一) 基础动画方式
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第八课: Cocos2D-X引擎框架3