
quick-Cocos2d-x
文章平均质量分 91
_Lunay
这个作者很懒,什么都没留下…
展开
-
深入函数
在Lua中,你可以像使用number和string一样使用function。可以将function存储到变量中,存储到table中,可以当作函数参数传递,可以作为函数的返回值。在Lua中,function跟其他值一样,也是匿名的。function被作为一个值存储在变量中,下面这个例子帮助理解:原创 2014-06-23 11:41:43 · 813 阅读 · 0 评论 -
Lua中的table函数库
一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep, start, end)concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep转载 2014-06-19 18:25:20 · 752 阅读 · 0 评论 -
打印lua中的table
network = { {name = "grauna", IP = "210.26.30.34"}, {name = "arraial", IP = "210.26.30.23"}, {name = "lua", IP = "210.26.23.12"}, {name = "derain", IP = "21原创 2014-06-22 10:54:11 · 1241 阅读 · 0 评论 -
quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket
在 quick-cocos2d-x 中,默认集成了 LuaSocket 和 WebSocket 两个 Socket 库。那么,在开发需要长连接的手机游戏时,应该选择哪个库呢?下面从几个方面进行比较:跨平台; 易用性; 性能; 流量; 灵活性; 二进制编码; 服务器实现。 一、跨平台WebSocket 是跨平台的,其导出到lua的代码位于[quick]/lib/cocos2d转载 2014-07-31 10:46:40 · 5101 阅读 · 0 评论 -
quick 单点触摸
quick的触摸机制,我想廖大已经在这篇文章里说的很清楚了,我们这些小辈们就是在他的基础上完备一下,说说用法就可以了,嘿嘿。在2.2.3之前的版本(不包括2.2.3),触摸机制和廖大在那篇文章里面的说的一样,添加触摸响应采用addTouchEventListener来完成,不过在此之后,对触摸机制就进行了完全的改写,和cocos2dx 3.0的版本一样,采用更加灵活的CCNod原创 2014-11-07 14:34:21 · 1080 阅读 · 0 评论 -
quick 中的触摸事件
ocos2d-x 原本的触摸机制存在一些限制,在使用中需要开发者做不少额外的处理。所以 quick-cocos2d-x 提出了自己的一套触摸机制。本文详细介绍了这套新机制的用法。显示层级在 cocos2d-x 里,整个游戏的画面是由一系列的 Scene, Node, Sprite, Layer 等对象构成的。而所有这些对象都是从 Node 这个类继承而来。我们可以将 Node 称为原创 2014-11-10 16:02:12 · 1696 阅读 · 0 评论 -
Quick StateMachine状态机
状态机在quick中是一个亮点,如果我们做一款RPG游戏,一个角色一般会拥有idle,attack,walk,run,death这些状态,如果游戏角色的状态采用分支条件判断的话,会造成非常庞大而难以维护,但一旦使用了状态机这种模式,就会显得简单方便。对于quick中的状态机是如何实现的咱们先不去了解,首先看看如何去使用它。总结起来,如果让一个类拥有状态机,主要有两步:原创 2014-11-11 14:24:39 · 1637 阅读 · 0 评论 -
quick硬件按键事件
在quick中,对于按键事件也进行了重新封装,和node的触摸事件一样,也是通过addNodeEventListener来实现。所谓按键事件,主要是针对于android设备中的返回键“back”和菜单键“menu”的响应,在前面的一篇博文中我也简单提过一次,不过咱们还是系统性的来学习一下。首先清楚预定义的层事件有两个,cc.ACCELERATE_EVENT原创 2014-11-11 10:59:24 · 1329 阅读 · 0 评论 -
quick :Timer
Timer 实现了一个计时器容器,用于跟踪应用中所有需要计时的事件。FunctionsTimer.new()创建一个计时器。 - timer:addCountdown(eventName, countdown, interval)添加一个计时器。 - timer:removeCountdow原创 2014-10-29 11:07:05 · 1010 阅读 · 0 评论 -
lua 支持多点触摸例子
local layer=CCLayer:create()--多点触摸事件回调函数local function onTouchsEvent(eventType,touchs) --[[ eventType:触摸事件类型. touchs:多点触摸的数组表,它的大小=n点触摸*3 ]] if eve转载 2014-11-04 16:21:46 · 2386 阅读 · 0 评论 -
Quick 事件参考
Quick 修改后的 Cocos2d-x 提供一些底层事件支持。这些事件按照功能和用途分为:节点事件 (cc.NODE_EVENT)帧事件 (cc.NODE_ENTER_FRAME_EVENT)触摸事件键盘事件重力感应事件应用程序事件节点事件 (cc.NODE_EVENT)节点事件在一个 Node 对象进入、退出场景时触发。local node = display.ne原创 2014-11-04 16:36:17 · 1058 阅读 · 0 评论 -
Quick-Cocos2d-x游戏开发触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT
如果看过sample中touch的代码,你会发现示例中有一个cc.NODE_TOUCH_CAPTURE_EVENT事件,它和cc.NODE_TOUCH_EVENT触摸事件一样,是引擎级别的事件,我们来看看它和触摸事件的区别。触摸捕获事件的优先级要比触摸事件要高,换句话说,触摸捕获事件会比触摸事件先响应,并且有权不分发给触摸事件响应。对于一个完整的捕获+触摸事件,有这么一个流程:转载 2014-10-21 14:57:23 · 960 阅读 · 0 评论 -
Lua 项目分析、创建新场景
创建完一个新项目之后,我们可以简单的看一看这个项目的文件组成,有这么一个文件层次结构几个proj.*文件夹就不用说了,是对应的平台的解决方案,res专门存放我们的游戏资源,scripts存放我们的lua代码,sources中有我们熟悉的AppDelegate类,我们主要常用的就两个文件夹,res和scripts。好吧,还是再打开scrip原创 2014-11-05 11:56:49 · 1595 阅读 · 0 评论 -
添加文本 ui.newTTFLabel
文本的添加在Quick中被封装在ui类中,它可以创建EditBox,菜单以及文本,文本总得来说可以创建TTF和BMFont两种。API对于它的说明很详细,ui.newBMFontLabel(params),参数中text: 要显示的文本font: 字体文件名align: 文字的水平对齐方式(可选)x, y: 坐标(可选)原创 2014-11-05 14:47:00 · 2382 阅读 · 0 评论 -
Lua中的基本函数库
基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"-----------------------------------------------------------原创 2014-07-11 18:09:18 · 929 阅读 · 0 评论 -
lua 操作系统库
Lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和OS相关的库。但是Lua还提供了一些扩展库,比如Posix库等。对于文件操作而言,该库仅提供了os.rename函数和os.remove函数。 1. 日期和时间: 在Lua中,函数time和date提供了所有的日期和时间功能。 如果不带任何参数调用time函数,它将以数字形式返回原创 2014-07-09 11:30:19 · 1004 阅读 · 0 评论 -
Lua中的字符串函数库
Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。字符串库中的一些函数是非常简单的:string.len(s) 返回字符串s的长度;string.rep(s, n) 返回重复n次字符串s的串;你使用string.rep("a",转载 2014-06-19 20:10:19 · 754 阅读 · 0 评论 -
数组结构
使用整数来索引table即可在lua中实现数组。因此shuz原创 2014-06-25 10:22:00 · 1364 阅读 · 0 评论 -
迭代器 与泛型for
1. 迭代器和闭包在Lua中,迭代器用函数表示,每次调用该函数,都会返回集合中的下一个元素。每个迭代器都要在连续的调用之间保存一些state,这样才能知道进行到哪一步,下一步该从哪开始处理。在Lua中,闭包可以处理这个问题。闭包结构包含两个function:一个是闭包本身,另一个是factory,用来创建闭包。下面是个简单的示例:function values(原创 2014-06-24 16:16:02 · 1062 阅读 · 0 评论 -
Lua:元表(metatable)与元方法(meatmethod)
元表概念:引言:Lua中的每个值都有一套预定义的操作集合,如数字相加等。但无法将两个table相加,此时可通过元表修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定操作。访问机制:一般的元方法都只针对Lua的核心,也就是一个虚拟机。它会检测一个操作中的值是否有元表,这些元表是否定义了关于次操作的元方法。例如两个table相加,先检查两者之一是否有元表,之后检查是否有一转载 2014-07-02 16:20:14 · 723 阅读 · 0 评论 -
lua modue、 require、 package 区别
【lua 5.1 的 module】lua 从 5.1 开始终于官方提供统一的 module 实现标准了,这是个值得庆幸的事。今天读了下相关的源码和文档,把这套机制搞清楚了,还是很巧妙的。从简洁这个角度看,要比 python 强 :)有一点容易被忽略掉(我的同事在用的时候就忽略掉了),module 指令运行完后,整个环境被压栈,所以前面全局的东西再看不见了。比如定义了一个转载 2014-07-04 10:31:35 · 1182 阅读 · 0 评论 -
Lua模块与包
从Lua 5.1开始,我们可以使用require和module函数来获取和创建Lua中的模块。从使用者的角度来看,一个模块就是一个程序库,可以通过require来加载,之后便得到一个类型为table的全局变量。此时的table就像名字空间一样,可以访问其中的函数和常量,如:require "mod" mod.foo()3 local m2 = require "mod2"4 local原创 2014-07-04 10:53:31 · 713 阅读 · 0 评论 -
lua 多重继承的实现在
--多重继承 local function search(k,plist) for i=1,#plist do local v=plist[i][k] -- 取一个基类 if v then return v end end end function createClass(...) local c={原创 2014-07-02 14:31:49 · 853 阅读 · 0 评论 -
弱引用table 《Lua程序设计》
>Lua的垃圾收集器只能回收那些它认为是垃圾的东西,不会回收用户认为是垃圾的东西。比如栈,栈由一个数组和一个顶部索引实现,如果弹出一个元素仅仅递减顶部索引,那么仍然停留在数组中的顶部对象,对Lua来说就不是垃圾。又比如存储在全局变量中的对象,即使程序不会再用它们,对Lua来说也不是垃圾。在这两种情况下,用户必须对对象变量赋值nil(t[i] = nil),才能释放它们。>有时候原创 2014-07-07 12:13:15 · 895 阅读 · 0 评论 -
quick-x-player 使用说明
quick-cocos2d-x 里附带了一个功能强大的模拟器,称为 quick-x-player(后文简称 player)。player 可以在 Mac 和 Windows 环境中模拟游戏引擎的绝大部分功能。在开发过程中,利用 player 可以高效的测试游戏功能。虽然 iOS 和 Android 开发环境都提供了相应的模拟器,但 quick-x-player 相比原创 2014-06-17 16:33:48 · 4517 阅读 · 0 评论 -
quick-cocos2d-x 初体验(一)环境搭建
说起QuickCocos2d-x与Cocos2dx的差别,用一句话来说:quick 是 cocos2d-x 针对 Lua 的豪华套装威力加强版。至于quick-x(QuickCocos2d-x简称)到底是怎么一回事,大家可以看下这个链接:http://cn.quick-x.com/?p=1其实我也是刚开始学习quick-x,对于quick-x还是很多东西需要去理解挖掘。就目前了解的转载 2014-06-17 16:22:14 · 1068 阅读 · 0 评论 -
lua 字符串库
1. 基础字符串函数: 字符串库中有一些函数非常简单,如: 1). string.len(s) 返回字符串s的长度; 2). string.rep(s,n) 返回字符串s重复n次的结果; 3). string.lower(s) 返回s的副本,其中所有的大写都被转换为了小写形式,其他字符不变; 4). string.upper(s) 和lower相反原创 2014-07-07 15:57:33 · 830 阅读 · 0 评论 -
面向对象编程
Lua中的表不仅在某种意义上是一种对象。像对象一样,表也有状态(成员变量);也有与对象的值独立的本性,特别是拥有两个不同值的对象(table)代表两个不同的对象;一个对象在不同的时候也可以有不同的值,但他始终是一个对象;与对象类似,表的生命周期与其由什么创建、在哪创建没有关系。对象有他们的成员函数,表也有:Account = {balance = 0}function Account.w原创 2014-06-25 14:49:10 · 689 阅读 · 0 评论 -
repeat until
i = 1repeatprint("show i " .. i) if i < 2 then print("small") elseif i < 4 then print("medium") else print("big") end i = i + 1until i > 8da原创 2014-06-18 18:10:31 · 2662 阅读 · 0 评论 -
for
Lua的for语句有两种:数字型和泛型原创 2014-06-18 22:03:11 · 725 阅读 · 0 评论 -
lua 函数
在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。下面有3个例子,分别将函数当作一条语句;当作表达式(后面两个是一类)。[plain] view plaincopyprint(8*9, 9/8) --> 72 1.125 a = math.sin(原创 2014-06-19 15:50:35 · 899 阅读 · 0 评论 -
display.newSprite创建精灵
游戏嘛,没图片没画面能叫游戏吗,所以我们还是先看用Quick的方式怎么创建精灵。Quick的api中对精灵的创建讲解得还是很详细,所以创建起来很简单。display.newSprite(filename, x, y, params)filename:精灵文件名x:x位置坐标y:y位置坐标params:表参数(不常用)原创 2014-11-05 13:46:19 · 3928 阅读 · 0 评论