quick-cocos2d-x API函数汇总
1. init
在quick\framework\init.lua文件中。
quick framework 初始化,载入 quickframework 预定义的常量、模块。
1.1常量
在初始化框架之前,可以定义以下常量:
· DEBUG: 设置框架的调试输出级别
0-- 不输出任何调试信息(默认值)·DEBUG =
1-- 输出基本的调试信息·DEBUG =
2-- 输出详细的调试信息·DEBUG =
· DEBUG_FPS: 设置是否在画面中显示渲染帧率等信息
false-- 不显示(默认值)·DEBUG_FPS =
true-- 显示·DEBUG_FPS =
· DEBUG_MEM: 设置是否输出内存占用信息
false-- 不输出(默认值)·DEBUG_MEM =
true-- 每 10 秒输出一次·DEBUG_MEM =
· LOAD_DEPRECATED_API: 是否载入过时的 API 定义,默认为 false
· DISABLE_DEPRECATED_WARNING: 使用过时的 API 时是否显示警告信息,默认为 true
· USE_DEPRECATED_EVENT_ARGUMENTS: 是否使用过时的 Node 事件参数格式,默认为 false
1.2自动载入的模块
框架初始化时,会自动载入以下基本模块:
·debug: 调试接口
·functions: 提供一组常用的函数,以及对 Lua 标准库的扩展
·cocos2dx: 对 cocos2d-x C++ 接口的封装和扩展
·device: 针对设备接口的扩展
·transition: 与动作相关的接口
·display: 创建场景、图像、动画的接口
·filter: 具备过滤器渲染的 Sprite 接口
·audio: 音乐和音效的接口
·network: 网络相关的接口
·crypto: 加密相关的接口
·json: JSON 的编码和解码接口
·luaj: 提供从 Lua 调用 Java 方法的接口(仅限 Android 平台)
·luaoc: 提供从 Lua 调用 Objective-C 方法的接口(仅限 iOS 平台)
·cc: quick 框架扩展的基础类和组件
quick\framework\platform\mac.lua文件
quick\framework\cc\mac.lua文件
2. debug
quick\framework\debug.lua文件
提供调试接口
Functions |
定义一个作废的接口 |
显示作废信息 |
打印调试信息 |
输出 tag 为 ERR 的调试信息 |
输出 tag 为 INFO 的调试信息 |
Functions
DEPRECATED(newfunction,newname)
定义一个作废的接口
PRINT_DEPRECATED(msg)
显示作废信息
printLog(tag,...)
打印调试信息
printError(fmt,...)
输出 tag 为 ERR 的调试信息
Parameters
·stringfmt调试信息格式
·[mixed...]更多参数
printInfo(fmt,...)
输出 tag 为 INFO 的调试信息
Parameters
·stringfmt调试信息格式
·[mixed...]更多参数
@parma [integer nesting] 输出时的嵌套层级,默认为 3
3. functions
quick\framework\ functions.lua文件
提供一组常用函数,以及对 Lua 标准库的扩展
Functions |
输出格式化字符串 |
检查并尝试转换为数值,如果无法转换则返回 0 |
检查并尝试转换为整数,如果无法转换则返回 0 |
检查并尝试转换为布尔值,除了 nil 和 false,其他任何值都会返回 true |
检查值是否是一个表格,如果不是则返回一个空表格 |
如果表格中指定 key 的值为 nil,或者输入值不是表格,返回 false,否则返回 true |
深度克隆一个值 |
创建一个类 |
如果对象是指定类或其子类的实例,返回 true,否则返回 false |
载入一个模块 |
对数值进行四舍五入,如果不是数值则返回 0 |
角度转弧度 |
弧度转角度 |
检查指定的文件或目录是否存在,如果存在返回 true,否则返回 false |
拆分一个路径字符串,返回组成路径的各个部分 |
返回指定文件的大小,如果失败返回 false |
计算表格包含的字段数量 |
返回指定表格中的所有键 |
返回指定表格中的所有值 |
将来源表格中所有键及其值复制到目标表格对象中,如果存在同名键,则覆盖其值 |
在目标表格的指定位置插入来源表格,如果没有指定位置则连接两个表格 |
从表格中查找指定值,返回其索引,如果没找到返回 false |
从表格中查找指定值,返回其 key,如果没找到返回 nil |
遍历表格,确保其中的值唯一 |
将特殊字符转为 HTML 转义符 |
将 HTML 转义符还原为特殊字符,功能与 string.htmlspecialchars() 正好相反 |
将字符串中的 \n 换行符转换为 HTML 标记 |
将字符串中的特殊字符和 \n 换行符转换为 HTML 转移符和标记 |
用指定字符或字符串分割输入字符串,返回包含分割结果的数组 |
去除输入字符串头部的空白字符,返回结果 |
去除输入字符串尾部的空白字符,返回结果 |
去掉字符串首尾的空白字符,返回结果 |
将字符串的第一个字符转为大写,返回结果 |
将字符串转换为符合 URL 传递要求的格式,并返回转换结果 |
将 URL 中的特殊字符还原,并返回结果 |
计算 UTF8 字符串的长度,每一个中文算一个字符 |
将数值格式化为包含千分位分隔符的字符串 |
Functions
printf(fmt,...)
输出格式化字符串
"The value = %d"100printf(,)
Parameters
checknumber(value,base)
检查并尝试转换为数值,如果无法转换则返回 0
Parameters
·mixedvalue要检查的值
·[integerbase]进制,默认为十进制
Returns
·number
checkint(value)
检查并尝试转换为整数,如果无法转换则返回 0
Parameters
·mixedvalue要检查的值
Returns
·integer
checkbool(value)
检查并尝试转换为布尔值,除了 nil 和 false,其他任何值都会返回 true
Parameters
·mixedvalue要检查的值
Returns
·boolean
checktable(value)
检查值是否是一个表格,如果不是则返回一个空表格
Parameters
·mixedvalue要检查的值
Returns
·table
isset(hashtable,key)
如果表格中指定 key 的值为 nil,或者输入值不是表格,返回 false,否则返回 true
Parameters
·tablehashtable要检查的表格
·mixedkey要检查的键名
Returns
·boolean
clone(object)
深度克隆一个值
-- 下面的代码,t2 是 t1 的引用,修改 t2 的属性时,t1 的内容也会发生变化
local12t1 = {a =,b =}
localt2 = t1
3-- t1 = {a = 1,b = 3} <-- t1.b 发生变化t2.b =
-- clone() 返回 t1 的副本,修改 t2 不会影响 t1
local12t1 = {a =,b =}
localt2 = clone(t1)
3-- t1 = {a = 1,b = 2} <-- t1.b 不受影响t2.b =
Parameters
·mixedobject要克隆的值
Returns
·mixed
class(classname,super)
创建一个类
-- 定义名为 Shape 的基础类
local"Shape"Shape = class()
-- ctor() 是类的构造函数,在调用 Shape.new() 创建 Shape 对象实例时会自动执行
function Shape:ctor(shapeName)
self.shapeName = shapeName
"Shape:ctor(%s)" printf(,self.shapeName)
end
-- 为 Shape 定义个名为 draw() 的方法
function Shape:draw()
"draw %s" printf(,self.shapeName)
end
--
-- Circle 是 Shape 的继承类
local"Circle"Circle = class(,Shape)
function Circle:ctor()
-- 如果继承类覆盖了 ctor() 构造函数,那么必须手动调用父类构造函数
-- 类名.super 可以访问指定类的父类
"circle" Circle.super.ctor(self,)
100 self.radius =
end
function Circle:setRadius(radius)
self.radius = radius
end
-- 覆盖父类的同名方法
function Circle:draw()
"draw %s,raidus = %0.2f" printf(,self.shapeName,self.raidus)
end
--
local"Rectangle"Rectangle = class(,Shape)
function Rectangle:ctor()
"rectangle" Rectangle.super.ctor(self,)
end
--
local-- 输出: Shape:ctor(circle)circle = Circle.new()
200circle:setRaidus()
-- 输出: draw circle,radius = 200.00circle:draw()
local-- 输出: Shape:ctor(rectangle)rectangle = Rectangle.new()
-- 输出: draw rectanglerectangle:draw()
高级用法
-- 从 cc.Node 对象派生 Toolbar 类,该类具有 cc.Node 的所有属性和行为
local"Toolbar"Toolbar = class(,function()
return-- 返回一个 cc.Node 对象display.newNode()
end)
-- 构造函数
function Toolbar:ctor()
-- 用一个 table 来记录所有的按钮 self.buttons = {}
end
-- 添加一个按钮,并且自动设置按钮位置
function Toolbar:addButton(button)
-- 将按钮对象加入 table
1 self.buttons[#self.buttons +] = button
-- 添加按钮对象到 cc.Node 中,以便显示该按钮
-- 因为 Toolbar 是从 cc.Node 继承的,所以可以使用 addChild() 方法
self:addChild(button)
-- 按照按钮数量,调整所有按钮的位置
local0x =
forinipairsdo_,button(self.buttons)
0 button:setPosition(x,)
-- 依次排列按钮,每个按钮之间间隔 10 点
10 x = x + button:getContentSize().width +
end
end
function Toolbar:setPosition(x,y)
-- 由于在 Toolbar 继承类中覆盖了 cc.Node 对象的 setPosition() 方法
-- 所以我们要用以下形式才能调用到 cc.Node 原本的 setPosition() 方法
getMetatable(self).setPosition(self,x,y)
"x = %0.2f,y = %0.2f" printf(,y)
end
注意:Lua 继承类覆盖的方法并不能从 C++ 调用到。也就是说通过 C++ 代码调用这个 cc.Node 对象的setPosition() 方法时,并不会执行我们在 Lua 中定义的 Toolbar:setPosition() 方法。
Parameters
Returns
·table
iskindof(obj,classname)
如果对象是指定类或其子类的实例,返回 true,否则返回 false
local"Animal"Animal = class()
local"Duck"Duck = class(,Animal)
print"Animal"-- 输出 true(iskindof(Duck.new(),))
Parameters
·mixedobj要检查的对象
·stringclassname类名
Returns
·boolean
app/
app/classes/
.luaapp/classes/MyClass
.luaapp/classes/MyClassBase
.luaapp/classes/data/Data1
.luaapp/classes/data/Data2
MyClass 中需要载入 MyClassBase 和 MyClassData。如果用 require(),MyClass 内的代码如下:
localrequire"app.classes.MyClassBase"MyClassBase =()
local"MyClass"MyClass = class(,MyClassBase)
localrequire"app.classes.data.Data1"Data1 =()
localrequire"app.classes.data.Data2"Data2 =()
local".MyClassBase"MyClassBase = import()
local"MyClass"MyClass = class(,MyClassBase)
local".data.Data1"Data1 = import()
local".data.Data2"Data2 = import()
当在模块名前面有一个"." 时,import() 会从当前模块所在目录中查找其他模块。因此 MyClass 及其相关文件不管存放到什么目录里,我们都不再需要修改 MyClass 中的 import() 命令。这在开发一些重复使用的功能组件时,会非常方便。
我们可以在模块名前添加多个"." ,这样 import() 会从更上层的目录开始查找模块。
~
不过 import() 只有在模块级别调用(也就是没有将 import() 写在任何函数中)时,才能够自动得到当前模块名。如果需要在函数中调用 import(),那么就需要指定当前模块名:
# MyClass.lua
#这里的...是隐藏参数,包含了当前模块的名字,所以最好将这行代码写在模块的第一行
localCURRENT_MODULE_NAME = ...
localfunction testLoad()
local".MyClassBase"MyClassBase = import(,CURRENT_MODULE_NAME)
#更多代码
end
Parameters
·stringmoduleName要载入的模块的名字
·[stringcurrentModuleName]当前模块名
Returns
·module
local"MyScene"MyScene = class(,function()
return"MyScene"display.newScene()
end)
function MyScene:ctor()
0 self.frameTimeCount =
-- 注册帧事件
self:addNodeEventListener(cc.NODE_ENTER_FRAME_EVENT,self.onEnterFrame)
self:scheduleUpdate()
end
function MyScene:onEnterFrame(dt)
self.frameTimeCount = self.frameTimeCount + dt
end
上述代码执行时将出错,报告"Invalid self" ,这就是因为 C++ 无法识别 Lua 对象方法。因此在调用我们传入的 self.onEnterFrame 方法时没有提供正确的参数。
要让上述的代码正常工作,就需要使用 handler() 进行一下包装:
function MyScene:ctor()
0 self.frameTimeCount =
-- 注册帧事件
self:addNodeEventListener(cc.ENTER_FRAME_EVENT,handler(self,self.onEnterFrame))
self:scheduleUpdate()
end
实际上,除了 C++ 回调 Lua 函数之外,在其他所有需要回调的地方都可以使用 handler()。
Parameters
·mixedobjLua 对象
·functionmethod对象方法
Returns
·function
math.round(value)
对数值进行四舍五入,如果不是数值则返回 0
Parameters
·numbervalue输入值
Returns
·number
math.angle2radian(angle)
角度转弧度
math.radian2angle(radian)
弧度转角度
io.exists(path)
检查指定的文件或目录是否存在,如果存在返回 true,否则返回 false
local"gamedata.txt"path = cc.FileUtils:getInstance():fullPathForFilename()
ifiothen.exists(path)
....
end
Parameters
·stringpath要检查的文件或目录的完全路径
Returns
·boolean
Parameters
·stringpath文件完全路径
Returns
·string
io.writefile(path,mode)
以字符串内容写入文件,成功返回 true,失败返回 false
"mode 写入模式" 参数决定 io.writefile() 如何写入内容,可用的值如下:
此外,还可以在 "写入模式" 参数最后追加字符 "b" ,表示以二进制方式写入数据,这样可以避免内容写入不完整。
Android 特别提示:在 Android 平台上,文件只能写入存储卡所在路径,assets 和 data 等目录都是无法写入的。
Parameters
Returns
·boolean
io.pathinfo(path)
拆分一个路径字符串,返回组成路径的各个部分
localio"/var/app/test/abc.png"pathinfo =.pathinfo()
-- 结果:
-- pathinfo.dirname = "/var/app/test/"
-- pathinfo.filename = "abc.png"
-- pathinfo.basename = "abc"
-- pathinfo.extname = ".png"
Parameters
·stringpath要分拆的路径字符串
Returns
·table
io.filesize(path)
返回指定文件的大小,如果失败返回 false
Parameters
·stringpath文件完全路径
Returns
·integer
Parameters
·tablet要检查的表格
Returns
·integer
table.keys(hashtable)
返回指定表格中的所有键
local123hashtable = {a =,b =,c =}
localtablekeys =.keys(hashtable)
-- keys = {"a","b","c"}
Parameters
·tablehashtable要检查的表格
Returns
·table
table.values(hashtable)
返回指定表格中的所有值
local123hashtable = {a =,c =}
localtablevalues =.values(hashtable)
-- values = {1,2,3}
Parameters
·tablehashtable要检查的表格
Returns
·table
table.merge(dest,src)
将来源表格中所有键及其值复制到目标表格对象中,如果存在同名键,则覆盖其值
local12dest = {a =,b =}
local34src = {c =,d =}
table.merge(dest,src)
-- dest = {a = 1,b = 2,c = 3,d = 4}
Parameters
·tabledest目标表格
·tablesrc来源表格
table.insertto(dest,begin)
在目标表格的指定位置插入来源表格,如果没有指定位置则连接两个表格
local123dest = {,}
local456src = {,}
table.insertto(dest,src)
-- dest = {1,3,4,5,6}
123dest = {,}
table5.insertto(dest,)
-- dest = {1,nil,6}
Parameters
·tabledest目标表格
·tablesrc来源表格
·[integerbegin]插入位置
table.indexof(array,begin)
从表格中查找指定值,返回其索引,如果没找到返回 false
·tablearray表格
·mixedvalue要查找的值
·[integerbegin]起始索引值
Returns
·integer
table.keyof(hashtable,value)
从表格中查找指定值,返回其 key,如果没找到返回 nil
local"dualface""chukong"hashtable = {name =,comp =}
printtable"chukong"-- 输出 comp(.keyof(hashtable,))
Parameters
·tablehashtable表格
·mixedvalue要查找的值
Returns
·string 该值对应的 key
Returns
·integer
local"dualface""chukong"t = {name =,comp =}
table.map(t,function(v,k)
-- 在每一个值前后添加括号
return"[""]".. v ..
end)
-- 输出修改后的表格内容
forinpairsdok,v(t)
print(k,v)
end
-- 输出
-- name [dualface]
-- comp [chukong]
fn 参数指定的函数具有两个参数,并且返回一个值。原型如下:
function map_function(value,key)
returnvalue
end
Parameters
·tablet表格
·functionfn函数
fn 参数指定的函数具有两个参数,没有返回值。原型如下:
function map_function(value,key)
end
Parameters
·tablet表格
·functionfn函数
local"dualface""chukong"t = {name =,comp =}
table.filter(t,k)
return"dualface"-- 当值等于 dualface 时过滤掉该值v ~=
end)
-- 输出修改后的表格内容
forinpairsdok,v)
end
-- 输出
-- comp chukong
fn 参数指定的函数具有两个参数,并且返回一个 boolean 值。原型如下:
function map_function(value,key)
returntrueorfalse
end
Parameters
·tablet表格
·functionfn函数
table.unique(t)
遍历表格,确保其中的值唯一
local"a""a""b""c"-- 重复的 a 会被过滤掉t = {,}
localtablen =.unique(t)
forinpairsdok,v(n)
print(v)
end
-- 输出
-- a
-- b
-- c
Parameters
·tablet表格
Returns
·table 包含所有唯一值的新表格
string.htmlspecialchars(input)
将特殊字符转为 HTML 转义符
·stringinput输入字符串
Returns
·string 转换结果
string.restorehtmlspecialchars(input)
将 HTML 转义符还原为特殊字符,功能与string.htmlspecialchars() 正好相反
·stringinput输入字符串
Returns
·string 转换结果
string.nl2br(input)
将字符串中的 \n 换行符转换为 HTML 标记
·stringinput输入字符串
Returns
·string 转换结果
string.text2html(input)
将字符串中的特殊字符和 \n 换行符转换为 HTML 转移符和标记
·stringinput输入字符串
Returns
·string 转换结果
string.split(input,delimiter)
用指定字符或字符串分割输入字符串,返回包含分割结果的数组
local"Hello,World"input =
localstring","res =.split(input,)
-- res = {"Hello","World"}
local"Hello-+-World-+-Quick"input =
localstring"-+-"res =.split(input,"World","Quick"}
Parameters
·stringinput输入字符串
·stringdelimiter分割标记字符或字符串
Returns
·array 包含分割结果的数组
string.ltrim(input)
去除输入字符串头部的空白字符,返回结果
空白字符包括:
·空格
·制表符 \t
·换行符 \n
·回到行首符 \r
Parameters
·stringinput输入字符串
Returns
·string 结果
@see string.rtrim,string.trim
string.rtrim(input)
去除输入字符串尾部的空白字符,返回结果
·stringinput输入字符串
Returns
·string 结果
@see string.ltrim,string.trim
string.trim(input)
去掉字符串首尾的空白字符,返回结果
Parameters
·stringinput输入字符串
Returns
·string 结果
@see string.ltrim,string.rtrim
string.ucfirst(input)
将字符串的第一个字符转为大写,返回结果
·stringinput输入字符串
Returns
·string 结果
string.urlencode(input)
将字符串转换为符合 URL 传递要求的格式,并返回转换结果
·stringinput输入字符串
Returns
·string 转换后的结果
@see string.urldecode
string.urldecode(input)
将 URL 中的特殊字符还原,并返回结果
·stringinput输入字符串
Returns
·string 转换后的结果
@see string.urlencode
string.utf8len(input)
计算 UTF8 字符串的长度,每一个中文算一个字符
·stringinput输入字符串
Returns
·integer 长度
string.formatnumberthousands(num)
将数值格式化为包含千分位分隔符的字符串
·numbernum数值
Returns
·string 格式化结果
4. cocos2dx
\quick\framework\cocos2dx.lua文件
\quick\framework\cocos2dx文件夹中文件
针对 cocos2d-x 的一些封装和扩展
预定义的节点事件:
·cc.NODE_EVENT - enter,exit 等事件
·cc.NODE_ENTER_FRAME_EVENT - 帧事件
·cc.NODE_TOUCH_EVENT - 触摸事件
·cc.NODE_TOUCH_CAPTURE_EVENT - 捕获触摸事件
预定义的层事件:
·cc.ACCELERATE_EVENT - 重力感应事件
·cc.KEYPAD_EVENT - 硬件按键事件
预定义的触摸模式:
·cc.TOUCH_MODE_ALL_AT_ONCE - 多点触摸
·cc.TOUCH_MODE_ONE_BY_ONE - 单点触摸
5. device
quick\framework\device.lua文件
当框架初始完成后,device 模块提供下列属性:
· device.platform 返回当前运行平台的名字,可用值: ios,android,mac,windows.
· device.model 返回设备型号,可用值: unknown,iphone,ipad
· device.language 返回设备当前使用的语言,可用值:
· cn:中文
· fr:法语
· it:意大利语
· gr:德语
· sp:西班牙语
· ru:俄语
· jp:日语
· en:英语
· device.writablePath 返回设备上可以写入数据的首选路径:
· iOS 上返回应用程序所在的 Documents 目录
· Android 上返回存储卡的根目录
· 其他平台的返回值由 quick-x-player 决定
· device.cachePath 返回设备上可以写入数据的缓存目录:
· iOS 上返回应用程序所在的 Library/Caches 目录
· 其他平台的返回值同 device.writablePath
· device.directorySeparator 目录分隔符,在 Windows 平台上是 “\”,其他平台都是 “/”
· device.pathSeparator 路径分隔符,在 Windows 平台上是 “;”,其他平台都是 “:”
Functions |
显示活动指示器 |
隐藏正在显示的活动指示器 |
显示一个包含按钮的弹出对话框 |
取消正在显示的对话框。 |
返回设备的 OpenUDID 值 |
用浏览器打开指定的网址 |
Functions
device.hideActivityIndicator()
隐藏正在显示的活动指示器
device.showAlert(title,listener)
显示一个包含按钮的弹出对话框
localfunction onButtonClicked(event)
if1thenevent.buttonIndex ==
....玩家选择了YES按钮
else
....玩家选择了NO按钮
end
end
"Confirm Exit""Are you sure exit game ?""YES""NO"device.showAlert(,{,},onButtonClicked)
Parameters
device.getOpenUDID()
返回设备的 OpenUDID 值
OpenUDID 是为设备仿造的 UDID(唯一设备识别码),可以用来识别用户的设备。
但 OpenUDID 存在下列问题:
Returns
·string 设备的 OpenUDID 值
device.openURL(url)
用浏览器打开指定的网址
-- 打开网页
"http://dualface.github.com/quick-cocos2d-x/"device.openURL()
-- 打开设备上的邮件程序,并创建新邮件,填入收件人地址
"mailto:nobody@mycompany.com"device.openURL()
-- 增加主题和内容
localstring"Hello"subject =.urlencode()
localstring"How are you ?"body =.urlencode()
string"mailto:nobody@mycompany.com?subject=%s&body=%s"device.openURL(.format(,subject,body))
-- 打开设备上的拨号程序
"tel:123-456-7890"device.openURL()
Parameters
·string网址,邮件,拨号等的字符串
device.showInputBox()
Parameters
Returns
·string 用户输入的字符串
6. transition
quick\framework\transition.lua文件
为图像创造效果
Functions |
创建一个缓动效果 |
创建一个动作效果 |
执行一个动作效果 |
将显示对象旋转到指定角度,并返回 Action 动作对象。 |
将显示对象移动到指定位置,并返回 Action 动作对象。 |
将显示对象移动一定距离,并返回 Action 动作对象。 |
淡入显示对象,并返回 Action 动作对象。 |
淡出显示对象,并返回 Action 动作对象。 |
将显示对象的透明度改变为指定值,并返回 Action 动作对象。 |
将显示对象缩放到指定比例,并返回 Action 动作对象。 |
创建一个动作序列对象。 |
transition.playAnimationOnce(target,animation,removeWhenFinished,onComplete,delay) |
在显示对象上播放一次动画,并返回 Action 动作对象。 |
在显示对象上循环播放动画,并返回 Action 动作对象。 |
停止一个正在执行的动作 |
停止一个显示对象上所有正在执行的动作 |
暂停显示对象上所有正在执行的动作 |
恢复显示对象上所有暂停的动作 |
Functions
transition.newEasing(action,more)
创建一个缓动效果
Parameters
Returns
·mixed 结果
transition.create(action,args)
创建一个动作效果
Parameters
·Actionaction动作对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.execute(target,args)
执行一个动作效果
-- 等待 1.0 后开始移动对象
-- 耗时 1.5 秒,将对象移动到屏幕中央
-- 移动使用 backout 缓动效果
-- 移动结束后执行函数,显示 move completed
1.5transition.execute(sprite,MoveTo:create(,cc.p(display.cx,display.cy)),{
1.0 delay =,
"backout" easing =,
onComplete = function()
print"move completed"()
end,
})
·backIn
·backInOut
·backOut
·bounce
·bounceIn
·bounceInOut
·bounceOut
·elastic,附加参数默认为 0.3
·elasticIn,附加参数默认为 0.3
·elasticInOut,附加参数默认为 0.3
·elasticOut,附加参数默认为 0.3
·exponentialIn,附加参数默认为 1.0
·exponentialInOut,附加参数默认为 1.0
·exponentialOut,附加参数默认为 1.0
·In,附加参数默认为 1.0
·InOut,附加参数默认为 1.0
·Out,附加参数默认为 1.0
·rateaction,附加参数默认为 1.0
·sineIn
·sineInOut
·sineOut
Parameters
Returns
·mixed 结果
transition.rotateTo(target,args)
将显示对象旋转到指定角度,并返回 Action 动作对象。
-- 耗时 0.5 秒将 sprite 旋转到 180 度
1800.5transition.rotateTo(sprite,{rotate =,time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.moveTo(target,args)
将显示对象移动到指定位置,并返回 Action 动作对象。
-- 移动到屏幕中心
1.5transition.moveTo(sprite,{x = display.cx,y = display.cy,time =})
-- 移动到屏幕左边,不改变 y
1.5transition.moveTo(sprite,{x = display.left,time =})
-- 移动到屏幕底部,不改变 x
1.5transition.moveTo(sprite,{y = display.bottom,time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.moveBy(target,args)
将显示对象移动一定距离,并返回 Action 动作对象。
-- 向右移动 100 点,向上移动 100 点
1001001.5transition.moveBy(sprite,{x =,y =,time =})
-- 向左移动 100 点,不改变 y
1001.5transition.moveBy(sprite,{x = -,time =})
-- 向下移动 100 点,不改变 x
1001.5transition.moveBy(sprite,{y = -,time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.fadeIn(target,args)
淡入显示对象,并返回 Action 动作对象。
fadeIn 操作会首先将对象的透明度设置为 0(0%,完全透明),然后再逐步增加为 255(100%,完全不透明)。
如果不希望改变对象当前的透明度,应该用 fadeTo()。
1.5action = transition.fadeIn(sprite,{time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.fadeOut(target,args)
淡出显示对象,并返回 Action 动作对象。
fadeOut 操作会首先将对象的透明度设置为 255(100%,完全不透明),然后再逐步减少为 0(0%,完全透明)。
如果不希望改变对象当前的透明度,应该用 fadeTo()。
1.5action = transition.fadeOut(sprite,{time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.fadeTo(target,args)
将显示对象的透明度改变为指定值,并返回 Action 动作对象。
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.scaleTo(target,args)
将显示对象缩放到指定比例,并返回 Action 动作对象。
-- 整体缩放为 50%
0.51.5transition.scaleTo(sprite,{scale =,time =})
-- 单独水平缩放
0.51.5transition.scaleTo(sprite,{scaleX =,time =})
-- 单独垂直缩放
0.51.5transition.scaleTo(sprite,{scaleY =,time =})
Parameters
·cc.Nodetarget显示对象
·tableargs参数表格对象
Returns
·mixed 结果
transition.sequence(actions)
创建一个动作序列对象。
localsequence = transition.sequence({
0.5 cc.MoveTo:create(,
0.2 cc.FadeOut:create(),
0.5 cc.DelayTime:create(),
0.3 cc.FadeIn:create(),
})
sprite:runAction(sequence)
Parameters
·tableargs动作的表格对象
Returns
·Sequence 动作序列对象
transition.playAnimationOnce(target,delay)
在显示对象上播放一次动画,并返回 Action 动作对象。
local"Walk%04d.png"120frames = display.newFrames(,)
local0.520-- 0.5s play 20 framesanimation = display.newAnimation(frames,/)
transition.playAnimationOnce(sprite,animation)
还可以用 Sprite 对象的 playAnimationOnce() 方法来直接播放动画:
local"Walk%04d.png"120frames = display.newFrames(,/)
sprite:playAnimationOnce(animation)
local"Boom%04d.png"18frames = display.newFrames(,)
local1boom = display.newSprite(frames[])
-- playAnimationOnce() 第二个参数为 true 表示动画播放完后删除 boom 这个 Sprite 对象
-- 这样爆炸动画播放完毕,就自动清理了不需要的显示对象
0.38trueboom:playAnimationOnce(display.newAnimation(frames,/),)
Parameters
·cc.Nodetarget显示对象
·cc.Nodeanimation动作对象
·booleanremoveWhenFinished播放完成后删除显示对象
·functiononComplete播放完成后要执行的函数
·numberdelay播放前等待的时间
Returns
·table 动作表格对象
transition.playAnimationForever(target,delay)
在显示对象上循环播放动画,并返回 Action 动作对象。
local"Walk%04d.png"120frames = display.newFrames(,/)
sprite:playAnimationForever(animation)
Parameters
Returns
·table 动作表格对象
transition.removeAction(action)
停止一个正在执行的动作
-- 开始移动
local2.0100100action = transition.moveTo(sprite,{time =,x =,y =})
....
-- 停止移动transition.removeAction(action)
Parameters
·mixedtarget
transition.stopTarget(target)
停止一个显示对象上所有正在执行的动作
-- 开始移动
2.0100100transition.moveTo(sprite,y =})
2.0transition.fadeOut(sprite,{time =})
....
transition.stopTarget(sprite)
Parameters
·mixedtarget
transition.pauseTarget(target)
暂停显示对象上所有正在执行的动作
Parameters
·mixedtarget
transition.resuMetarget()
Parameters
·mixedtarget
7. display
quick\framework\display.lua文件
display模块封装了绝大部分与显示有关的功能,并负责根据 config.lua 中定义的分辨率设定计算屏幕的设计分辨率。
框架初始化后,display 模块提供下列属性:
· display.sizeInPixels.width,
· display.sizeInPixels.height 屏幕的像素分辨率
· display.widthInPixels,
· display.heightInPixels 屏幕的像素分辨率
· display.contentScaleFactor 内容缩放因子
· display.size.width,
· display.size.height 屏幕的设计分辨率
· display.width,
· display.height 屏幕的设计分辨率
· display.cx,
· display.cy 屏幕中央的 x 坐标和 y 坐标
· display.left,
· display.top,
· display.right,
· display.bottom 屏幕四边的坐标
· display.c_left,
· display.c_top,
· display.c_right,
· display.c_bottom 当父对象在屏幕中央时,屏幕四边的坐标
颜色:
· display.COLOR_WHITE 白色,cc.c3b(255,255,255)
· display.COLOR_BLACK 黑色,cc.c3b(0,0)
Functions |
创建一个新场景,并返回 Scene 场景对象。 |
创建一个新场景,并返回 Scene 场景对象。 |
display.wrapSceneWithTransition(scene,transitionType,time,more) |
用场景切换过渡效果包装场景对象,并返回场景过渡对象。 |
切换到新场景 |
返回当前正在运行的场景对象 |
暂停当前场景 |
恢复当前暂停的场景 |
创建并返回一个 Layer 层对象 |
创建一个颜色填充层 |
创建并返回一个 Node 对象 |
创建并返回一个 ClippingRegionNode 对象。 |
创建并返回一个 Sprite 显示对象。 |
创建并返回一个 Sprite9Scale 显示对象。 |
创建并返回一个平铺的 Sprite 显示对象 |
display.newTiledBatchNode(filename,plistFile,hPadding,vPadding) |
create a tiled SpriteBatchNode,the image can not a POT file. |
Create a masked sprite |
Create a Filtered Sprite |
Create a Gray Sprite by FilteredSprite |
创建并返回一个空的 DrawNode 对象 |
创建并返回一个 DrawNode(实心圆)对象。 |
创建并返回一个 DrawNode (圆)对象。 |
创建并返回一个 DrawNode (矩形)对象。 |
创建并返回一个 DrawNode (线性)对象。 |
创建并返回一个 PolygonShape (多边形)对象。 |
用位图字体创建文本显示对象,并返回 Label 对象。 |
将指定的显示对象按照特定锚点对齐。 |
从内存中卸载 Sprite Sheets 材质和数据文件 |
设置材质格式。 |
从图像帧缓存中删除一个图像。 |
从指定的图像文件创建并返回一个批量渲染对象。 |
创建并返回一个图像帧对象。 |
以特定模式创建一个包含多个图像帧对象的数组。 |
以包含图像帧的数组创建一个动画对象。 |
以指定名字缓存创建好的动画对象,以便后续反复使用。 |
取得以指定名字缓存的动画对象,如果不存在则返回 nil。 |
删除指定名字缓存的动画对象。 |
从内存中卸载没有使用 Sprite Sheets 材质 |
创建一个进度条的节点 |
Functions
Parameters
·stringname场景名称
Returns
·Scene 场景对象
@see Scene
Parameters
·stringname场景名称
Returns
·Scene 场景对象
@see Scene
display.wrapSceneWithTransition(scene,more)
用场景切换过渡效果包装场景对象,并返回场景过渡对象。
-- 创建一个新场景
local"NextScene"nextScene = display.newScene()
-- 包装过渡效果
local"fade"0.5transition = display.wrapSceneWithTransition(nextScene,)
-- 切换到新场景
display.replaceScene(nextScene)
可用的过渡效果有:
·crossFade 淡出当前场景的同时淡入下一个场景
·fade 淡出当前场景到指定颜色,默认颜色为 cc.c3b(0,0),可用 wrapSceneWithTransition() 的最后一个参数指定颜色
·fadeBL 从左下角开始淡出场景
·fadeDown 从底部开始淡出场景
·fadeTR 从右上角开始淡出场景
·fadeUp 从顶部开始淡出场景
·flipAngular 当前场景倾斜后翻转成下一个场景,默认从左边开始翻转,可以指定为:
· cc.TRANSITION_ORIENTATION_LEFT_OVER 从左边开始
· cc.TRANSITION_ORIENTATION_RIGHT_OVER 从右边开始
· cc.TRANSITION_ORIENTATION_UP_OVER 从顶部开始
· cc.TRANSITION_ORIENTATION_DOWN_OVER 从底部开始
·flipX 水平翻转,默认从左往右翻转,可用的附加参数同上
·flipY 垂直翻转,默认从上往下翻转,可用的附加参数同上
·zoomFlipAngular倾斜翻转的同时放大,可用的附加参数同上
·zoomFlipX 水平翻转的同时放大,可用的附加参数同上
·zoomFlipY 垂直翻转的同时放大,可用的附加参数同上
·jumpZoom 跳跃放大切换场景
·moveInL 新场景从左侧进入,现有场景同时从右侧退出
·moveInR 新场景从右侧进入,现有场景同时从左侧退出
·pageTurn 翻页效果,如果指定附加参数为 true,则表示从左侧往右翻页
·rotoZoom 旋转放大切换场景
·shrinkGrow 收缩交叉切换场景
·slideInB 新场景从底部进入,直接覆盖现有场景
·slideInL 新场景从左侧进入,直接覆盖现有场景
·slideInR 新场景从右侧进入,直接覆盖现有场景
·slideInT 新场景从顶部进入,直接覆盖现有场景
·splitCols 分成多列切换入新场景
·splitRows 分成多行切换入新场景,类似百叶窗
·turnOffTiles 当前场景分成多个块,逐渐替换为新场景
Parameters
Returns
·Scene 场景对象
display.replaceScene(newScene,more)
切换到新场景
-- 使用红色做过渡色
"fade"0.525500display.replaceScene(nextScene,cc.c3b(,))
Parameters
display.getRunningScene()
返回当前正在运行的场景对象
Returns
·Scene 场景对象
display.pause()
暂停当前场景
display.resume()
恢复当前暂停的场景
display.newColorLayer(color)
创建一个颜色填充层
LayerColor 对象使用指定的颜色填充。
Parameters
·ccColor3Bcolor
Returns
·LayerColor
@see LayerColor
local-- 创建一个容器group = display.newNode()
-- 添加显示对象到容器中group:addChild(sprite1)
-- 添加显示对象到容器中group:addChild(sprite2)
-- 移动容器时,其中包含的子对象也会同时移动
2.0100transition.moveBy(group,x =})
Returns
·Node Node对象
@see Node
display.newClippingRegionNode(rect)
创建并返回一个 ClippingRegionNode 对象。
创建 ClippingRegionNode 对象时需要指定一个屏幕区域,然后在显示时,所以加入 ClippingRegionNode 对象的内容都会进行剪裁,超出指定区域的内容不会显示。
-- 剪裁区域从屏幕左下角靠内 100 点,到屏幕右上角
local100rect = cc.rect(display.left +,
100 display.bottom +,
200 display.width -,
200 display.height -)
localclipnode = display.newClippingRegionNode(rect)
clipnode:addChild(sprite1)
clipnode:addChild(sprite2)
scene:addChild(clipnode)
注意:ClippingRegionNode 的父对象其坐标必须是 0,0。
Parameters
·tablerect指定的区域
Returns
·ClippingRegionNodeClippingRegionNode对象
-- 从图片文件创建显示对象
local"hello1.png"sprite1 = display.newSprite()
-- 从缓存的图像帧创建显示对象
-- 图像帧的名字就是图片文件名,但为了和图片文件名区分,所以此处需要在文件名前添加 “#” 字符
-- 添加 “#” 的规则适用于所有需要区分图像和图像帧的地方
local"#frame0001.png"sprite2 = display.newSprite()
-- 从 SpriteFrame 对象创建
local"frame0002.png"frame = display.newFrame()
localsprite3 = display.newSprite(frame)
Parameters
·mixed图像名或SpriteFrame对象
·numberx
·numbery
·tableparams
Returns
·Sprite
@see Sprite
display.newScale9Sprite(filename,capInsets)
创建并返回一个 Sprite9Scale 显示对象。
格式:
sprite = display.newScale9Sprite(图像名,[x,y],[size 对象])
Sprite9Scale 就是通常所說的“九宫格”图像。一个矩形图像会被分为 9 部分,然后根据要求拉伸图像,同时保证拉伸后的图像四边不变形。
-- 创建一个 Scale9 图像,并拉伸到 400,300 点大小
local"Box.png"00400300sprite = display.newScale9Sprite(,cc.size(,))
Parameters
·stringfilename图像名
·integerx
·integery
·tablesize
Returns
·Sprite9ScaleSprite9Scale显示对象
display.newTilesSprite(filename,rect)
创建并返回一个平铺的 Sprite 显示对象
Parameters
· stringfilename图像名
· cc.rectrect平铺范围
Returns
·Sprite
display.newTiledBatchNode(filename,vPadding)
create a tiled SpriteBatchNode,the image can not a POTfile.
Parameters
·mixedfilenameAs same a the first parameter for display.newSprite
·stringplistFileTexture(plist) image filename,filename must be a partof the texture.
·sizesizeThetiled node size,use cc.size create it please.
·integerhPaddingHorizontal padding,it will display 1 px gap on movingthe node,set padding for fix it.
·integervPaddingVertical padding.
Returns
·SpriteBatchNode
display.newMaskedSprite(__mask,__pic)
Create a masked sprite
Parameters
Returns
·Sprite
display.newFilteredSprite(filename,params)
Create a Filtered Sprite
Parameters
·mixedfilenameAs same a the first parameter for display.newSprite
· mixedfiltersOne of the following:
· A Filter name;
·More Filternames(in a table);
·An instanceof Filter;
·Someinstances of Filter(in a table);
· A Array inclueds some instances of Filter.
· tableparamsA or some parameters for Filter.
Returns
·An instanceof FilteredSprite
display.newGraySprite(filename,params)
Create a Gray Sprite by FilteredSprite
Parameters
·mixedfilenameAs same a the first parameter for display.newSprite
·tableparamsAs same as the third parameter fordisplay.newFilteredSprite
Returns
·An instanceof FilteredSprite
display.newDrawNode()
创建并返回一个空的 DrawNode 对象
Returns
·DrawNode
@see DrawNode
display.newSolidCircle(radius,params)
创建并返回一个 DrawNode(实心圆)对象。
local101501501111circle = display.newSolidCircle(,color = cc.c4f(,)})
circle:addTo(scene)
Parameters
·numberradius实心圆的半径
·tableparams创建圆的参数 x,y为圆点位置 color中圆的颜色
Returns
·DrawNode
@see DrawNode
display.newCircle(radius,params)
创建并返回一个 DrawNode (圆)对象。
--创建一个半径为50,圆心在(100,100),中间填充为红色,边线为绿色,边线的宽度为2 的圆
local50circle = display.newCircle(,
100100 {x =,
1001 fillColor = cc.c4f(,),
0101 borderColor = cc.c4f(,
2 borderWidth =})
Parameters
·numberradius
·tableparams有参数,x,y 圆的位置 填充色 fillColor,边线色 borderColor 及边线宽度 borderWidth
Returns
·DrawNode
@see DrawNode
display.newRect(rect,params)
创建并返回一个 DrawNode (矩形)对象。
格式:
shape = display.newRect(rect表,[参数])
-- 创建一个宽度 200,高度 100 的矩形,并且定位于 50,80
local5080200100shape3 = display.newRect(cc.rect(,))
-- 创建一个宽度 100,高度 100 的矩形,并定位于 40,40
-- 并设置它的中间填充色 fillColor,边线色 borderColor 及边线宽度 borderWidth
local1001004040shape4 = display.newRect(cc.rect(,
100101015 {fillColor = cc.c4f(,borderColor = cc.c4f(,borderWidth =})
Parameters
·tablerecttable
·tableparams有参数,填充色 fillColor,边线色 borderColor 及边线宽度 borderWidth
Returns
·DrawNode
@see ShapeNode
display.newLine(points,params)
创建并返回一个 DrawNode (线性)对象。
格式:
shape = display.newLine(point表,[参数])
-- 创建一个线宽为2,颜色为红色,从(10,10)到(100,100)的线段
local1010100100shape3 = display.newLine({(,(,)},
1.00.00.01.0 {borderColor = cc.c4f(,
1 borderWidth =})
Parameters
·tablepointtable
·tableparams有参数,边线色 borderColor 及边线宽度 borderWidth
Returns
·DrawNode
@see ShapeNode
display.newPolygon(points,drawNode)
创建并返回一个 PolygonShape (多边形)对象。
localpoints = {
1010-- point 1 {,
5050-- point 2 {,
10010-- point 3 {,
}
localpolygon = display.newPolygon(points)
Parameters
·tablepoints包含多边形每一个点坐标的表格对象
·numberscale缩放比例
Returns
·DrawNodeDrawNode
@see DrawNode
display.newBMFontLabel(params)
用位图字体创建文本显示对象,并返回 Label 对象。
BMFont 通常用于显示英文内容,因为英文字母加数字和常用符号也不多,生成的 BMFont 文件较小。如果是中文,应该用 TTFLabel。
可用参数:
·text: 要显示的文本
·font: 字体文件名
·align: 文字的水平对齐方式(可选)
·maxLineWidth:最大行宽(可选)
·offsetX: 图像的X偏移量(可选)
·offsetY: 图像的Y偏移量(可选)
·x,y: 坐标(可选)
locallabel = display.newBMFontLabel({
"Hello" text =,
"UIFont.fnt" font =,
})
Parameters
·tableparams参数表格对象
Returns
·Label Label对象
·text: 要显示的文本
·font: 字体名,如果是非系统自带的 TTF 字体,那么指定为字体文件名
·size: 文字尺寸,因为是 TTF 字体,所以可以任意指定尺寸
·color: 文字颜色(可选),用 cc.c3b() 指定,默认为白色
·align: 文字的水平对齐方式(可选)
·valign: 文字的垂直对齐方式(可选),仅在指定了 dimensions 参数时有效
·dimensions: 文字显示对象的尺寸(可选),使用 cc.size() 指定
·x,y: 坐标(可选)
align 和 valign 参数可用的值:
·cc.TEXT_ALIGNMENT_LEFT左对齐
·cc.TEXT_ALIGNMENT_CENTER水平居中对齐
·cc.TEXT_ALIGNMENT_RIGHT右对齐
·cc.VERTICAL_TEXT_ALIGNMENT_TOP垂直顶部对齐
·cc.VERTICAL_TEXT_ALIGNMENT_CENTER垂直居中对齐
·cc.VERTICAL_TEXT_ALIGNMENT_BOTTOM垂直底部对齐
-- 创建一个居中对齐的文字显示对象
locallabel = display.newTTFLabel({
"Hello,World" text =,
"Marker Felt" font =,
64 size =,
-- 文字内部居中对齐 align = cc.TEXT_ALIGNMENT_CENTER
})
-- 左对齐,并且多行文字顶部对齐
locallabel = display.newTTFLabel({
"Hello,World\n您好,世界" text =,
"Arial" font =,
25500-- 使用纯红色 color = cc.c3b(,
align = cc.TEXT_ALIGNMENT_LEFT,
valign = cc.VERTICAL_TEXT_ALIGNMENT_TOP,
400200 dimensions = cc.size(,)
})
Parameters
·tableparams参数表格对象
Returns
·UILabelUILabel对象
·display.CENTER图像中央
·display.LEFT_TOP,
·display.TOP_LEFT图像左上角
·display.CENTER_TOP,
·display.TOP_CENTER图像顶部的中间
·display.RIGHT_TOP,
·display.TOP_RIGHT图像顶部的中间
·display.CENTER_LEFT,
·display.LEFT_CENTER图像左边的中间
·display.CENTER_RIGHT,
·display.RIGHT_CENTER图像右边的中间
·display.BOTTOM_LEFT,
·display.LEFT_BOTTOM图像左边的底部
·display.BOTTOM_RIGHT,
·display.RIGHT_BOTTOM图像右边的底部
·display.BOTTOM_CENTER,
·display.CENTER_BOTTOM图像中间的底部
-- 将图像按左上角对齐,并放置在屏幕左上角
00display.align(sprite,display.LEFT_TOP,)
Parameters
-- 同步加载纹理
"Sprites.plist""Sprites.png"display.addSpriteFrames(,)
-- 异步加载纹理
localcb = function(plist,image)
-- do something
end
"Sprites.plist""Sprites.png"display.addSpriteFrames(,cb)
Parameters
@see Sprite Sheets
display.removeSpriteFramesWithFile(plistFilename,imageName)
从内存中卸载 Sprite Sheets 材质和数据文件
Parameters
display.setTexturePixelFormat(filename,format)
设置材质格式。
为了节约内存,我们会使用一些颜色品质较低的材质格式,例如针对背景图使用 cc.TEXTURE2_D_PIXEL_FORMAT_RG_B565 格式。
display.setTexturePixelFormat() 可以指定材质文件的材质格式,这样在加载材质文件时就会使用指定的格式。
Parameters
·stringfilename材质文件名
·integerformat材质格式
@see Texture Pixel Format
display.removeSpriteFrameByImageName(imageName)
从图像帧缓存中删除一个图像。
有时候,某些图像仅在特定场景中使用,例如背景图。那么在场景退出时,就可以用 display.removeSpriteFrameByImageName() 从缓存里删除不再使用的图像数据。
此外,Scene 提供了 markAutoCleanupImage() 接口,可以指定场景退出时需要自动清理的图像,推荐使用。
Parameters
·stringimageName图像文件名
display.newBatchNode(image,capacity)
从指定的图像文件创建并返回一个批量渲染对象。
local"Sprites.png"imageName =
"Sprites.plist"-- 载入图像到帧缓存display.addSpriteFrames(,imageName)
-- 下面的代码绘制 100 个图像只用了 1 次 OpenGL draw call
localbatch = display.newBatch(imageName)
for1100doi =,
local"#Sprite0001.png"sprite = display.newSprite()
batch:addChild(sprite)
end
-- 下面的代码绘制 100 个图像则要使用 100 次 OpenGL draw call
localgroup = display.newNode()
for1100doi =,
local"#Sprite0001.png"sprite = display.newSprite()
group:addChild(sprite)
end
Parameters
·stringimage图像文件名
·integercapacity
Returns
·SpriteBatchNode
@see Batch Node
display.newSpriteFrame(frameName)
创建并返回一个图像帧对象。
"Sprites.plist""Sprites.png"display.addSpriteFrames(,)
-- 创建一个 Sprite
local"#Yes.png"sprite = display.newSprite()
-- 创建一个图像帧
local"No.png"frameNo = display.newSpriteFrame()
-- 在需要时,修改 Sprite 的显示内容
sprite:setSpriteFrame(frameNo)
Parameters
·string图像帧名称
Returns
·SpriteFrameCache
display.newFrames(pattern,isReversed)
以特定模式创建一个包含多个图像帧对象的数组。
-- 创建一个数组,包含 Walk0001.png 到 Walk0008.png 的 8 个图像帧对象
local"Walk%04d.png"18frames = display.newFrames(,)
-- 创建一个数组,包含 Walk0008.png 到 Walk0001.png 的 8 个图像帧对象
local"Walk%04d.png"18trueframes = display.newFrames(,)
Parameters
·stringpattern模式字符串
·integerbegin起始索引
·integerlength长度
·booleanisReversed是否是递减索引
Returns
·table 图像帧数组
display.newAnimation(frames,time)
以包含图像帧的数组创建一个动画对象。
local"Walk%04d.png"18frames = display.newFrames(,)
local0.58-- 0.5 秒播放 8 桢animation = display.newAnimation(frames,/)
-- 播放一次动画sprite:playAnimationOnce(animation)
Parameters
·tableframes图像帧的数组
·numbertime每一桢动画之间的间隔时间
Returns
·AnimationAnimation对象
display.setAnimationCache(name,animation)
以指定名字缓存创建好的动画对象,以便后续反复使用。
local"Walk%04d.png"18frames = display.newFrames(,/)
"Walk"display.setAnimationCache(,animation)
-- 在需要使用 Walk 动画的地方
"Walk"-- 播放一次动画sprite:playAnimationOnce(display.getAnimationCache())
Parameters
·stringname名字
·Animationanimation动画对象
display.getAnimationCache(name)
取得以指定名字缓存的动画对象,如果不存在则返回 nil。
Parameters
·stringname
Returns
·Animation
display.removeAnimationCache(name)
删除指定名字缓存的动画对象。
Parameters
·stringname
display.removeUnusedSpriteFrames()
从内存中卸载没有使用 Sprite Sheets 材质
display.newProgressTimer(image,progresssType)
创建一个进度条的节点
进度条类型有:
·display.PROGRESS_TIMER_BAR环形
·display.PROGRESS_TIMER_RADIAL
Parameters
-
Returns
-
·保存节点的纹理到磁盘文件
·以节点的纹理创建一个精灵并返回
-- 截屏并保存
"save.png"display.printscreen(node,{file=})
-- 使用截屏纹理创建一个精灵并返回
localsp = display.printscreen(node,{})
-- Get a screenshot of a Node -- @authorzrong(zengrong.net) -- Creation: 2014-04-10
Parameters
·nodeAnodeto print.
·args
Returns
·An instanceof Sprite or FilteredSprite.
8. filter
quick\framework\filter.lua文件
滤镜功能
Functions |
创建一个滤镜效果,并返回 Filter 场景对象。 |
创建滤镜数组,并返回 Filter 的数组对象 |
Functions
filter.newFilter(__filterName,__param)
创建一个滤镜效果,并返回 Filter 场景对象。
Parameters
·string__filterName滤镜名称
·table__param
Returns
·Filter的子类
filter.newFilters(__filterNames,__params)
创建滤镜数组,并返回 Filter 的数组对象
Parameters
·table__filterNames滤镜名称数组
·table__params对应参数数组
Returns
·Filter数组
9. audio
播放音乐、音效
Functions |
返回音乐的音量值 |
设置音乐的音量 |
返回音效的音量值 |
设置音效的音量 |
预载入一个音乐文件 |
播放音乐 |
停止播放音乐 |
暂停音乐的播放 |
恢复暂停的音乐 |
从头开始重新播放当前音乐 |
检查是否可以开始播放音乐 |
检查当前是否正在播放音乐 |
播放音效,并返回音效句柄 |
暂停指定的音效 |
暂停所有音效 |
恢复暂停的音效 |
恢复所有的音效 |
停止指定的音效 |
停止所有音效 |
预载入一个音效文件 |
从内存卸载一个音效 |
Functions
audio.getMusicVolume()
audio.getMusicVolume()
返回音乐的音量值
Returns
·number 返回值在 0.0 到 1.0 之间,0.0 表示完全静音,1.0 表示 100% 音量
audio.setMusicVolume()
audio.setMusicVolume(volume)
设置音乐的音量
Parameters
·numbervolume音量在 0.0 到 1.0 之间,0.0 表示完全静音,1.0 表示 100% 音量
audio.getSoundsVolume()
audio.getSoundsVolume()
返回音效的音量值
Returns
·number 返回值在 0.0 到 1.0 之间,0.0 表示完全静音,1.0 表示 100% 音量
audio.setSoundsVolume()
audio.setSoundsVolume(volume)
设置音效的音量
Parameters
·numbervolume音量在 0.0 到 1.0 之间,0.0 表示完全静音,1.0 表示 100% 音量
audio.preloadMusic()
audio.preloadMusic(filename)
预载入一个音乐文件
在播放音乐前预先载入,可以在需要播放音乐时无延迟立即播放。 不过限于硬件设备和操作系统的限制,通常只能预载入一个音乐文件。
Parameters
·stringfilename音乐文件名
audio.playMusic()
audio.playMusic(filename,isLoop)
播放音乐
注意:即便音乐音量为 0.0,audio.playMusic() 仍然会进行播放操作。 如果希望停止音乐来降低 cpu 占用,应该使用 audio.stopMusic() 接口完全停止音乐播放。
Parameters
·stringfilename音乐文件名
·booleanisLoop是否循环播放,默认为 true
audio.stopMusic()
audio.stopMusic(isReleaseData)
停止播放音乐
Parameters
·booleanisReleaseData是否释放音乐数据,默认为 true
audio.pauseMusic()
audio.pauseMusic()
暂停音乐的播放
audio.resumeMusic()
audio.resumeMusic()
恢复暂停的音乐
audio.rewindMusic()
audio.rewindMusic()
从头开始重新播放当前音乐
audio.willPlayMusic()
Returns
·boolean
audio.isMusicPlaying()
Returns
·boolean
audio.playSound()
Parameters
·stringfilename音效文件名
·booleanisLoop是否重复播放,默认为 false
Returns
·integer 音效句柄
audio.pauseSound()
audio.pauseSound(handle)
暂停指定的音效
Parameters
·integer音效句柄
audio.pauseAllSounds()
audio.pauseAllSounds()
暂停所有音效
audio.resumeSound()
audio.resumeSound(handle)
恢复暂停的音效
Parameters
·integer音效句柄
audio.resumeAllSounds()
audio.resumeAllSounds()
恢复所有的音效
audio.stopSound()
audio.stopSound(handle)
停止指定的音效
Parameters
·integer音效句柄
audio.stopAllSounds()
audio.stopAllSounds()
停止所有音效
audio.preloadSound()
Parameters
·string音效文件名
audio.unloadSound()
Parameters
·string音效文件名
10.network
quick\framework\network.lua文件
网络服务
Functions |
检查地 WIFI 网络是否可用 |
检查互联网连接是否可用 |
检查是否可以解析指定的主机名 |
返回互联网连接状态值 |
创建异步 HTTP 请求,并返回 cc.HTTPRequest 对象。 |
Functions
Returns
·boolean 网络是否可用
network.isInternetConnectionAvailable()
检查互联网连接是否可用
通常,这里接口返回 3G 网络的状态,具体情况与设备和操作系统有关。
Returns
·boolean 网络是否可用
network.isHostNameReachable(hostname)
检查是否可以解析指定的主机名
if"www.google.com"thennetwork.isHostNameReachable()
-- 域名可以解析
end
Returns
·boolean 主机名是否可以解析
network.getInternetConnectionStatus()
返回互联网连接状态值
状态值有三种:
·kCCNetworkStatusNotReachable:无法访问互联网
·kCCNetworkStatusReachableViaWiFi:通过 WIFI
·kCCNetworkStatusReachableViaWWAN:通过 3G 网络
Returns
·string 互联网连接状态值
network.createHTTPRequest(callback,method)
创建异步 HTTP 请求,并返回 cc.HTTPRequest 对象。
function onRequestFinished(event)
local"completed"ok = (event.name ==)
localrequest = event.request
ifnotthenok
-- 请求失败,显示错误代码和错误消息
print(request:getErrorCode(),request:getErrorMessage())
return
end
localcode = request:getResponseStatusCode()
if200thencode ~=
-- 请求结束,但没有返回 200 响应代码
print(code)
return
end
-- 请求成功,显示服务端返回的内容
localresponse = request:getResponseString()
print(response)
end
-- 创建一个请求,并以 POST 方式发送数据到服务端
local"http://www.mycompany.com/request.PHP"url =
local"POST"request = network.createHTTPRequest(onRequestFinished,)
"KEY""VALUE"request:addPOSTValue(,)
-- 开始请求。当请求完成时会调用 callback() 函数
request:start()
Returns
·HTTPRequest 结果
11.crypto
quick\framework\crypto.lua文件
加解密、数据编码
Functions |
使用 AES256 算法加密内容 |
使用 AES256 算法解密内容 |
使用 XXTEA 算法加密内容 |
使用 XXTEA 算法解密内容 |
使用 BASE64 算法编码内容 |
使用 BASE64 算法解码内容 |
计算内容的 MD5 码 |
计算文件的 MD5 码 |
Functions
crypto.encryptAES256(plaintext,key)
使用 AES256 算法加密内容
提示:AES256 仅在 iOS 和 Mac 平台可用。加解密尽量选择跨平台的 XXTEA 接口。
Parameters
·stringplaintext明文字符串
·stringkey密钥字符串
Returns
·string 加密后的字符串
crypto.decryptAES256(ciphertext,key)
使用 AES256 算法解密内容
提示: AES256 仅在 iOS 和 Mac 平台可用。加解密尽量选择跨平台的 XXTEA 接口。
Parameters
·stringciphertext加密后的字符串
·stringkey密钥字符串
Returns
·string 明文字符串
crypto.encryptXXTEA(plaintext,key)
使用 XXTEA 算法加密内容
Parameters
·stringplaintext明文字符串
·stringkey密钥字符串
Returns
·string 加密后的字符串
crypto.decryptXXTEA(ciphertext,key)
使用 XXTEA 算法解密内容
Parameters
·stringciphertext加密后的字符串
·stringkey密钥字符串
Returns
·string 明文字符串
crypto.encodeBase64(plaintext)
使用 BASE64 算法编码内容
Parameters
·stringplaintext原文字符串
Returns
·string 编码后的字符串
@L_658_301@crypto.decodeBase64()
crypto.decodeBase64(ciphertext)
使用 BASE64 算法解码内容
Parameters
·stringciphertext编码后的字符串
Returns
·string 原文字符串
crypto.md5(input,isRawOutput)
计算内容的 MD5 码
Parameters
·stringinput内容字符串
·booleanisRawOutput是否返回二进制 MD5 码
Returns
·string MD5 字符串
crypto.md5file(path)
计算文件的 MD5 码
Parameters
·stringpath文件路径
Returns
·string MD5 字符串
12.json
quick\framework\json.lua文件
Functions |
JSON 编码与解码 |
将表格数据编码为 JSON 字符串 |
将 JSON 字符串解码为表格对象 |
Functions
safeLoad()
JSON 编码与解码
json.encode(var)
将表格数据编码为 JSON 字符串
local1"ss"121011100str = json.encode({a=,b=,c={c1=,c2=},d={,})
-- {"a":1,"b":"ss","c":{"c1":1,"c2":2},"d":[10,11],"1":100}echo(str)
local12"3"1011str = json.encode({,}})
-- [ 1,"3",[10,11] ]echo(str)
注意: table作为字典使用时,整型键值将被转换为字符串键值
local153str = json.encode({a=,[]=})
-- {"a":1,"5":3}echo(str)
注意: table所有键值为整型时,会当作数组看待,空位将转化为null
local3253str = json.encode({[]=,[]=})
-- [null,null,3]echo(str)
Parameters
·table表格对象
Returns
·string json字符串
json.decode(text)
将 JSON 字符串解码为表格对象
localrequire"framework.shared.json"json =()
local'{"a":1,"1":100}'tb = json.decode()
--[ [dump(tb)
"<var>"-= {
"1"100-=
"a"1-=
"b""ss"-=
"c"-= {
"c1"1-=
"c2"2-=
- }
"d"-= {
110-=
211-=
- }
- }
] ]
local'[1,11] ]'tb = json.decode()
--[ [dump(tb)
"<var>"-= {
11-=
22-=
3"3"-=
4-= {
110-=
211-=
- }
- }
] ]
Parameters
·stringjson字符串
Returns
·table 表格对象
13.luaj
quick\framework\luaj.lua文件
Lua 与 Java 的交互接口
Functions |
私有方法 |
调用java类的接口。 |
Functions
checkArguments(args,sig)
私有方法
Parameters
·stringclassNamejava类名
·stringmethodNamejava类静态方法名
·tableargsjava类静态方法所需要的各种参数 数组
·[stringsig]java类方法的签名
Returns
14.luaoc
quick\framework\luaoc.lua文件
Lua 与 Objective-C 的交互接口
Functions |
调用Objective-C类的接口。 |
Functions
Parameters
·stringclassNameObjective-C类名
·stringmethodNameObjective-C类方法名
Returns
·boolean ok,ret为Objective-C方法的返回值,ret为出错原因
15.ui
quick\framework\ui.lua文件
创建和管理用户界面
Functions |
用位图字体创建文本显示对象,并返回 LabelBMFont 对象。 |
Functions
ui.newEditBox()
·image: 输入框的图像,可以是图像名或者是 Sprite9Scale 显示对象。用 display.newScale9Sprite() 创建 Sprite9Scale 显示对象。
·imagePressed:输入状态时输入框显示的图像(可选)
·imageDisabled:禁止状态时输入框显示的图像(可选)
·listener: 回调函数
·size: 输入框的尺寸,用 cc.size(宽度,高度) 创建
·x,y: 坐标(可选)
localfunction onEdit(event,editBox)
if"began"thenevent ==
-- 开始输入
elseif"changed"thenevent ==
-- 输入框内容发生变化
elseif"ended"thenevent ==
-- 输入结束
elseif"return"thenevent ==
-- 从输入框返回
end
end
localeditBox = ui.newEditBox({
"EditBox.png" image =,
listener = onEdit,
20040 size = cc.size(,)
})
注意: 使用setInputFlag(0) 可设为密码输入框。
注意:构造输入框时,请使用setPlaceHolder来设定初始文本显示。setText为出现输入法后的默认文本。
注意:事件触发机制,player模拟器上与真机不同,请使用真机实测(不同ios版本貌似也略有不同)。
注意:changed事件中,需要条件性使用setText(如trim或转化大小写等),否则在某些ios版本中会造成死循环。
--错误,会造成死循环
stringeditBox:setText(.trim(editBox:getText()))
--正确,不会造成死循环
local_text = editBox:getText()
localstring_trimed =.trim(_text)
ifthen_trimed ~= _text
editBox:setText(_trimed)
end
Parameters
·tableparams参数表格对象
Returns
ui.newBMFontLabel(params)
用位图字体创建文本显示对象,并返回 LabelBMFont 对象。
BMFont 通常用于显示英文内容,因为英文字母加数字和常用符号也不多,生成的 BMFont 文件较小。如果是中文,应该用 TTFLabel。
可用参数:
locallabel = ui.newBMFontLabel({
"Hello" text =,
})
Parameters
·tableparams参数表格对象
Returns
·LabelBMFontLabelBMFont对象
·text: 要显示的文本
·font: 字体名,如果是非系统自带的 TTF 字体,那么指定为字体文件名
·size: 文字尺寸,因为是 TTF 字体,所以可以任意指定尺寸
·color: 文字颜色(可选),用 cc.c3b() 指定,默认为白色
·align: 文字的水平对齐方式(可选)
·valign: 文字的垂直对齐方式(可选),仅在指定了 dimensions 参数时有效
·dimensions: 文字显示对象的尺寸(可选),使用 cc.size() 指定
·x,y: 坐标(可选)
align 和 valign 参数可用的值:
·ui.TEXT_ALIGN_LEFT左对齐
·ui.TEXT_ALIGN_CENTER水平居中对齐
·ui.TEXT_ALIGN_RIGHT右对齐
·ui.TEXT_VALIGN_TOP垂直顶部对齐
·ui.TEXT_VALIGN_CENTER垂直居中对齐
·ui.TEXT_VALIGN_BOTTOM垂直底部对齐
-- 创建一个居中对齐的文字显示对象
locallabel = ui.newTTFLabel({
"Hello,
-- 文字内部居中对齐 align = ui.TEXT_ALIGN_CENTER
})
-- 左对齐,并且多行文字顶部对齐
locallabel = ui.newTTFLabel({
"Hello,
align = ui.TEXT_ALIGN_LEFT,
valign = ui.TEXT_VALIGN_TOP,)
})
Parameters
·tableparams参数表格对象
Returns
·LabelTTFLabelTTF对象
·shadowColor: 阴影颜色(可选),用 cc.c4b() 指定,默认为黑色
Parameters
·tableparams参数表格对象
Returns
·LabelTTFLabelTTF对象
outlineColor描边颜色(可选),用 cc.c4b() 指定,默认为黑色:
Parameters
·tableparams参数表格对象
Returns
·LabelTTFLabelTTF对象
16.Shortcodes
quick\framework\shortcodes.lua文件
Functions |
在当前结点中加入一个子结点 |
把当前结点作为一个子结点加到target中 |
隐藏当前结点,让当前结点不可显示 |
设置当前结点的位置 |
设置当前结点的锚点在它的中心 |
设置当前结点的缩放值 |
设置当前结点的旋转角度值 |
设置当前结点的大小 |
设置当前结点的透明度,0到255,0为完全透明 |
设置当前结点z值 |
设置当前精灵的显示帧 |
在X方向上翻转当前精灵 |
在Y方向上翻转当前精灵 |
在层上注册触摸监听 |
设置层的触摸是否打开 |
设置层的键盘事件是否打开 |
在层上注册重力感应监听 |
设置层的重力感应事件是否打开 |
停止结点的所有动作 |
渐显动画 |
渐隐动画 |
渐变到一个固定透明度 |
在一段时间内移动结点到特定位置 |
在一段时间内移动相对位置 |
在一段时间内旋转的角度 |
在一段时间内旋转的相对角度 |
在一段时间内缩放 |
在一段时间内的相对缩放 |
在一段时间内倾斜的大小 |
在一段时间内倾斜的相对大小 |
在一段时间内染色 |
在一段时间内相对染色 |
Functions
Node:add(child,tag)
在当前结点中加入一个子结点
Parameters
·nodechild要加入的结点
·numberzorder要加入结点的Z值
·numbertag要加入结点的tag
Returns
·node 当前结点
Node:addTo(target,tag)
把当前结点作为一个子结点加到target中
Parameters
·nodetarget想作为其子结点的结点
·numberzorder当前结点的Z值
·numbertag当前结点的tag
Returns
·node 当前结点
Returns
·node 当前结点
Node:hide()
隐藏当前结点,让当前结点不可显示
Returns
·node 当前结点
Node:pos(x,y)
设置当前结点的位置
Parameters
·numberxX值
·numberyY值
Returns
·node 当前结点
Node:center()
设置当前结点的锚点在它的中心
Returns
·node 当前结点
Node:scale(scale)
设置当前结点的缩放值
Parameters
·numberscale要缩放的值
Returns
·node 当前结点
Node:rotation(r)
设置当前结点的旋转角度值
Parameters
·numberr旋转角度
Returns
·node 当前结点
Node:size(width,height)
设置当前结点的大小
Parameters
·mixedwidth宽度或cc.size表
·numberheight高度
Returns
·node 当前结点
Node:opacity(opacity)
设置当前结点的透明度,0为完全透明
Parameters
·numberopacity透明度
Returns
·node 当前结点
Node:zorder(z)
设置当前结点z值
Parameters
·numberzz值
Returns
·node 当前结点
Sprite:displayFrame(frame)
设置当前精灵的显示帧
Parameters
Returns
·Sprite 当前精灵
Sprite:flipX(b)
在X方向上翻转当前精灵
Parameters
·booleanb是否翻转
Returns
·Sprite 当前精灵
Sprite:flipY(b)
在Y方向上翻转当前精灵
Parameters
·booleanb是否翻转
Returns
·Sprite 当前精灵
Layer:onTouch(listener)
在层上注册触摸监听
Parameters
·functionlistener监听函数
Returns
·Layer 当前层
Layer:enableTouch(enabled)
设置层的触摸是否打开
Parameters
·booleanenabled是否打开触摸
Returns
·Layer 当前层
Parameters
·functionlistener监听函数
Returns
·Layer 当前层
Layer:enableKeypad(enabled)
设置层的键盘事件是否打开
Parameters
·booleanenabled是否打开键盘事件
Returns
·Layer 当前层
Layer:onAccelerate(listener)
在层上注册重力感应监听
Parameters
·functionlistener监听函数
Returns
·Layer 当前层
Layer:enableAccelerometer(enabled)
设置层的重力感应事件是否打开
Parameters
·booleanenabled是否打开加速度事件
Returns
·Layer 当前层
Node:stop()
停止结点的所有动作
Returns
·node 当前结点
Node:fadeIn(time)
渐显动画
Parameters
·numbertime渐显时间
Returns
·node 当前结点
Node:fadeOut(time)
渐隐动画
Parameters
·numbertime渐隐时间
Returns
·node 当前结点
Node:fadeTo(time,opacity)
渐变到一个固定透明度
Parameters
·numbertime渐变时间
·numberopacity最终的透明度
Returns
·node 当前结点
Node:moveTo(time,y)
在一段时间内移动结点到特定位置
Parameters
·numbertime移动时间
·numberx要移动到的X点
·numbery要移动到的Y点
Returns
·node 当前结点
Node:moveBy(time,y)
在一段时间内移动相对位置
Parameters
·numbertime移动时间
·numberx要移动的相对X值
·numbery要移动的相对Y值
Returns
·node 当前结点
Node:rotateTo(time,rotation)
在一段时间内旋转的角度
Parameters
·numbertime移动时间
·numberrotation旋转的角度
Returns
·node 当前结点
Node:rotateBy(time,rotation)
在一段时间内旋转的相对角度
Parameters
·numbertime移动时间
·numberrotation旋转的相对角度
Returns
·node 当前结点
Node:scaleTo(time,scale)
在一段时间内缩放
Parameters
·numbertime移动时间
·numberscale缩放的值
Returns
·node 当前结点
Node:scaleBy(time,scale)
在一段时间内的相对缩放
Parameters
·numbertime移动时间
·numberscale相对缩放的值
Returns
·node 当前结点
Node:skewTo(time,sy)
在一段时间内倾斜的大小
Parameters
·numbertime移动时间
·numbersx倾斜的X值
·numbersy倾斜的Y值
Returns
·node 当前结点
Node:skewBy(time,sy)
在一段时间内倾斜的相对大小
Parameters
·numbertime移动时间
·numbersx倾斜的相对X值
·numbersy倾斜的相对Y值
Returns
·node 当前结点
Node:tintTo(time,b)
在一段时间内染色
Parameters
·numbertime移动时间
·numberr染色的R值
·numberg染色的G值
·numberb染色的B值
Returns
·node 当前结点
Node:tintBy(time,b)
在一段时间内相对染色
Parameters
·numbertime移动时间
·numberr染色的相对R值
·numberg染色的相对G值
·numberb染色的相对B值
Returns
·node 当前结点
17.scheduler
quick\framework\scheduler.lua文件
--[[--
全局计时器、计划任务
«该模块在框架初始化时不会自动载入»
加载方式: localscheduler = require(cc.PACKAGE_NAME .. ".scheduler")
]]
全局计时器、计划任务
«该模块在框架初始化时不会自动载入»
加载方式: localscheduler = require(cc.PACKAGE_NAME .. ".scheduler")
Functions |
计划一个全局帧事件回调,并返回该计划的句柄。 |
计划一个以指定时间间隔执行的全局事件回调,并返回该计划的句柄。 |
取消一个全局计划 |
计划一个全局延时回调,并返回该计划的句柄。 |
Functions
scheduler.scheduleUpdateGlobal(listener)
计划一个全局帧事件回调,并返回该计划的句柄。
全局帧事件在任何场景中都会执行,因此可以在整个应用程序范围内实现较为精确的全局计时器。
该函数返回的句柄用作 scheduler.unscheduleGlobal() 的参数,可以取消指定的计划。
Parameters
·function回调函数
Returns
·mixedschedule句柄
scheduler.scheduleGlobal(listener,interval)
计划一个以指定时间间隔执行的全局事件回调,并返回该计划的句柄。
localfunction onInterval(dt)
end
-- 每 0.5 秒执行一次 onInterval()
local0.5handle = scheduler.scheduleGlobal(onInterval,)
Parameters
·functionlistener回调函数
·numberinterval间隔时间
Returns
·mixedschedule句柄
scheduler.unscheduleGlobal(handle)
取消一个全局计划
scheduler.unscheduleGlobal() 的参数就是 scheduler.scheduleUpdateGlobal() 和 scheduler.scheduleGlobal() 的返回值。
Parameters
·mixedschedule句柄
scheduler.performWithDelayGlobal(listener,time)
计划一个全局延时回调,并返回该计划的句柄。
scheduler.performWithDelayGlobal() 会在等待指定时间后执行一次回调函数,然后自动取消该计划。
Parameters
·functionlistener回调函数
·numbertime延迟时间
Returns
·mixed schedule句柄