【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 ...
随机推荐
- mybatis分步查询与延迟加载
1.分步查询 先查询用户的部门 部门Mapper.xml <resultMap id="rMap" type="com.yunqing.mybatis.bean.D ...
- 论文笔记 | A Closer Look at Spatiotemporal Convolutions for Action Recognition
( 这篇博文为原创,如需转载本文请email我: leizhao.mail@qq.com, 并注明来源链接,THX!) 本文主要分享了一篇来自CVPR 2018的论文,A Closer Look at ...
- 绘图驱动-OSD原理1
OSD(On Screen Display)是屏幕显示技术的一种,用于在显示终端上显示字符.图形和图像.实现的过程为:存储器(一般为内存的一段)的内容与显示终端上的像素一一对应.这种一一对应的关系一般 ...
- js 单引号和双引号的使用注意事项
前言: 刚入行时,对单双引号没有过研究,使用时也是碰到什么用什么,后来慢慢遇到引号嵌套时报错,才了解问题.因之前的文章稍显混乱,现重新编辑,帮助需要的人儿. 正文: 1.一般情况下(没有嵌套)在js中 ...
- python装饰器内获取函数有用信息方法
装饰器内获取函数有用信息方法 .__doc__用于得到函数注释信息 .__name_用于得到函数名 在函数引用装饰器的时候,函数名会变为装饰器内部执行该函数的名字,所有在直接执行函数名加.__doc_ ...
- Java : logback简单配置
需要把logback.xml文件放在类路径下,如果是spring boot项目可以用 logging.config=classpath:log/xxxxxx.xml来指定配置文件 logback la ...
- [Doctrine Migrations] 数据库迁移组件的深入解析一:安装与使用
场景分析 团队开发中,每个开发人员对于数据库都修改都必须手动记录,上线时需要人工整理,运维成本极高.而且在多个开发者之间数据结构同步也是很大的问题.Doctrine Migrations组件把数据库变 ...
- PHP中如何对二维数组按某个键值进行排序
$arr=[ array( 'name'=>'张三', 'age'=>28 ), array( 'name'=> ...
- 帝国cms全文搜索 增加自定义字段搜索
帝国cms全站搜索功能只能调出固定的几个字段,如果想搜索其他字段的值,这时我们应该怎么办呢?开拓族网站有这个需求,所以研究了一下帝国的全站搜索,后来发现在/e/sch/index.php中可以直接对数 ...
- 大数据学习--day07(冒泡排序、Arrays工具类、方法可变参数)
冒泡排序.Arrays工具类.方法可变参数 冒泡排序之前写过,略 Arrays工具类 二分法查询 public static int binarySearch(int[] a,int key) 头信息 ...