【quick-cocos2d-lua】 基本类及用法
1.cc.Director(导演类)
获得导演类实例:local director = cc.Director : getInstance()
其中 cc 是Cocos2d-x Lua 类的命名空间,Director 是导演类
定义:是整个游戏的组织者和领导者。
功能:①开始游戏和游戏结束时负责游戏的初始化和销毁工作。
②游戏场景的切换,暂停和恢复的控制。
③获取一些系统信息,如坐标信息等。
导演常用方法:
1.暂停游戏:
shareDirector:pause()
2.恢复游戏:
shareDirector:resume()
2. cc.Node(节点类)
定义:cc.Node是Cocos2D-x 中的主要类, 任何需要在屏幕上显示得都是节点类,最常用的节点类包括:场景类、布景层类、人物精灵类.
功能:①封装了可见元素的基础属性和方法。
②节点都可以含有子节点。
③节点可以运行动作。
④节点内部有一个跟随节点生命周期的调度器。
节点常用方法:
1.创建节点:
local node = display.newNode()
2.添加子节点:
node:addChild(child,zOrder,name)
--child,cc.Node类型,子节点
--zOrder,影响渲染顺序,值小先渲染,相同则先添加的渲染。
--name,Tag标记
3.移除子节点:
node:removeChild(childNode)
4.获取父节点:
node:getParent()
5.获取子节点:
node:getChildren()
6.设置大小:
node:setContentSize(cc.size(width,height))
7.获取大小:
node:getContentSize()
8.设置位置坐标:
node:setPosition(cc.p(x,y))
9.设置锚点:
node:setAnchorPoint(cc.p(x,y)))
3. cc.Scene(场景类)
定义:cc.Scene类是cc.Node 的子类, 和cc.Node 相比,它只是添加了一个特性,那就是拥有自的锚点,位置在屏幕的正中央。除此之外,它目前还没有额外的功能,只是一个抽象的概念。特定时间内只有一个场景处于活动状态。
场景常用方法:
1.创建普通场景:
display.newScene(name)
2.创建带物理引擎的场景:
display.newPhysicsScene(name)
4. cc.Layer(层类)
层的叠加是有顺序的,次序同样用户时间响应机制,若层从上到下依次是 菜单层->精灵层->背景层,即菜单层最先接受到系统事件,然后是精灵层,最后是背景层,
在事件的传递过程中,如果有一个层处理了该事件,则
布景层类cc.Layer 是cc.Node 类的子类, 主要起容器的作用,游戏中可以根据需要分层处理,可以方便管理。
层的常用方法:
1.创建普通层:
display.newLayer()
2.创建有颜色的层:
display.newColorLayer()
3.要向场景添加层,我们可以使用addChild方法。
addChild( Node child ) addChild( Node child, int zOrder ) addChild( Node *child, int zOrder, int tag )
其中,Child参数就是节点。对于场景而言,通常我们添加的节点就是层。先添加的层会被置于后添加的层之下。如果需要为它们指定先后次序,可以使用不同的zOrder值。
tag是元素的标识号码,如果为子节点设置了tag值,就可以在它的父节点中利用tag值就可以找到它了。层可以包含任何Node作为子节点,包括Sprites(精灵), Labels(标签),甚至其他的Layer对象。
5. cc.Sprite(精灵类)
精灵是图像的载体,主要表示游戏中的人物。
>贴图类(cc.Texture2D);在OpengGL中称图片为贴图,在CocosD-x中CCTextureD就是图片对象的意思,可以通过它创建精灵等对象。cc.Texture2D类是精灵类和其相关基础的基础。
>精灵批处理类(CCSpriteBatchNode);
>精灵帧类(cc.SpriteFrame);精灵帧类的概念是相对于动画儿产生的。一个精灵是固定节点,他可以拥有许多精灵帧,在他们之间切换就形成了动画。
>精灵帧缓存类(cc.SpriteFrameCache);精灵帧缓存类CCSpriteFrameCache用来存储精灵帧,提前缓存起来有助于提高程序的效率。cc.SpriteFrameCache是一个单例模式,不属于某个精灵类,是所有精灵共享使用的。
用法:
1.从图片文件创建精灵:
display.newSprite("xxx.png")
2.从缓存的图像帧创建精灵:
display.newSprite("#xxx.png")
6. cc.ui(UI控件类)
用户操作界面上的控件,1.活动控件:可以与用户交互,当用户操作活动控件时,该控件可以激发相应的事件例:UIButton
2.静态控件:只用于显示应用状态,用户不能对静态控件执行任何操作例:UILabel
3.被动控件:可以接受用户操作,通常仅用于接受用户输入的值,不会激发任何方法
UI基础控件:https://blog.csdn.net/Super_Cola/article/details/80688459
UI高级控件:https://blog.csdn.net/Super_Cola/article/details/81533008
7. cc.Action(动作类)
用来描述节点行为规范的一个类,Action是所有动作的基类,动作作用于Node,每个动作需要Node对象来执行。动作分为基础动作和高级动作,基础动作又分为瞬时动作和有限时间动作,高级动作分为复合动作和变速动作。
动作使用:https://blog.csdn.net/Super_Cola/article/details/81903761
---------------------
作者:super_cola
来源:CSDN
原文:https://blog.csdn.net/Super_Cola/article/details/81589481
版权声明:本文为博主原创文章,转载请附上博文链接!
【quick-cocos2d-lua】 基本类及用法的更多相关文章
- Cocos2d Lua 越来越小样本 内存游戏
1.游戏简介 一个"记忆"类的比赛游戏.你和电脑对战,轮到谁的回合,谁翻两张牌,假设两张牌一样.就消掉这两张牌,得2分,能够继续翻牌,假设两张牌不一样,就换一个人.直到最后.看谁的 ...
- #Cocos2d+lua#android+Eclipse工程编译设置
用Elicpse编译cocos2d+lua的工程几点注意点记录: 1.设置工程属性Windows->Preferences->NDK目录 2.右键Android Tools->Add ...
- quick cocos2dx lua 内存释放
前言 对于内存的优化,网上有很多例子和教程.总体来说,就那么几种解决方案,在最后我会简单提下,这里先说下在quick中,对于图片的处理. 1.查看内存调试信息 对于quick框架的了解,我们可以参考\ ...
- quick Cocos2dx lua 接anysdk
quick3.3 的quick\samples\anysdk中有例子,具体用法可以参考官方文档,将的非常详细. 1.框架接口设计 系统介绍 必接入流程简要描述 消息通知 可扩展性 测试模式 添加测试账 ...
- lua高阶用法 OO的实现
//Lua的类的实现,可以派生,可重写方法 local _class={} function class(super) local class_type={} class_type.ctor=fals ...
- quick cocos2dx lua 网络图片 下载 自己主动更新
转载请注明,原文地址:http://blog.csdn.net/dd135373/article/details/46468505 quick coocs2d-x 网络图片下载,自己主动更新纹理,保存 ...
- Lua unpack函数用法
unpack,接受一个table做个参数,然后按照下标返回数组的所有元素 unpack lua 版本 <= 5.1 local t = {nil , 3} retunrn unpack(t) / ...
- 【原】 COCOS2D—LUA 获取剪贴板内容
android下: local luaj = require ("framework.luaj") local ok,ret = luaj.callStaticMethod( ...
- lua中奇葩用法
th> a=torch.zeros(,) [.0001s] th> a [torch.DoubleTensor of size 1x5] [.0002s] th> a[] [torc ...
随机推荐
- js 构造函数创建钟表
翻出来之前的一些效果,觉得这个时钟还挺好玩的就写出来共大家分享: HTML代码如下: <div id="box"> </div> 当前盒子用于插入钟表内容: ...
- 利用arduino给PCB800099液晶驱动板烧录程序
某宝上购买了一块PCB800099液晶驱动板, 卖家出货的时候刷的驱动不对,遂需要重新烧录程序 可是苦于没有编程器,寻遍网络后找到几种解决方案: arduino刷,树莓派I2C口刷,linux下用vg ...
- C语言scanf与get char,gets的区别
C语言scanf与get char,gets的区别 1.scanf() scanf是C语言的格式输入函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息.可以读入任何固有类型的数据并 ...
- 正则表达式和decimal format的实际项目运用
最近review测试框架底层代码,一是看看有哪些可以重构的,以便减少冗余增加重用,二是优化一下代码结构增强代码的健壮性. 其中有一个地方印象比较深刻,特记录分享如下: 背景:在电商场景中,价格是特别重 ...
- 锐捷交换机RG-3760-24 的简单配置与VLAN搭建
要做的事 将交换机和主机连通. 建立vlan,并将主机配置到vlan当中. 连接主机和交换机 安装配置软件 选用SecureCRT 8.0来配置交换机,可在网上下载. 插入配置线 把配置线插入cons ...
- 使用Vue构建单页应用一
一. 环境准备 1 安装Node.js 最好安装node.js-6.X.X 以上版本,https://nodejs.org/en/ 我使用的是 v6.3.1 Current 版本.Node. ...
- SSH工具脚本录入
SSH工具提供的脚本录制功能如下: Xshell:登陆脚本 SecretCRT:录制脚本,保存本地,登陆后选择执行 mRemoteNG :暂时没发现有脚本录入功能
- 关于sharepoint如何做SSO,如何做OOS监视编辑
应客户需求,需要做sharepoint SSO,以前都是默认的AD验证,如果客户已经有一套SSO系统,验证过SSO之后就能自动登录,而不是浏览器上设置保存用户名密码的AD登陆. 怎么做呢? 首先sha ...
- canvas背景
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 深入浅出爬虫之道: Python、Golang与GraphQuery的对比
深入浅出爬虫之道: Python.Golang与GraphQuery的对比 本文将分别使用 Python ,Golang 以及 GraphQuery 来解析某网站的 素材详情页面 ,这个页面的特色是具 ...