【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 ...
随机推荐
- [转]Javascript 取小数点后面N位
用Javascript取float型小数点后两位,例22.127456取成22.13,如何做? 1. 最笨的办法....... [我就怎么干的.........] } 2. 正则表达式效果不错 &l ...
- 手工检测SQL注入(安全性测试)
手动你的ASP站可否注入: http://127.0.0.1/xx?id=11 and 1=1 (正常页面) http://127.0.0.1/xx?id=11 and 1=2 (出错页面) 检测表段 ...
- wordpress上传含中文文件名出现乱码
一.首先到FTP里面找到wp-admin/includes/file.php这个文件. 二.查找wp_handle_upload在文件里面找到以下代码. function wp_handle_uplo ...
- File常见操作函数
String Name = File.getName(); //获得文件或文件夹的名称: String parentPath = File.getParent(); //获得文件或文件夹的父目录 ...
- meta的随堂笔记
Meta标签与搜索引擎优化(SEO) 概要 通常所说的meta标签,是在Html网页源代码中的一个重要的html标签.meta标签用来描述一个html网页文档的属性,例如作者.日期和时间.网页描述.关 ...
- ORACLE学习之三
DDL 数据定义语言 CREATE ALTER DROP DML 数据操作语言 INSERT UPDATE DELETE DQL 数据查询语言 SELECT TCL 事务控制语言 COMMIT ROL ...
- React Native从零到一搭建开发环境
React Native从零到一搭建开发环境 ReactNative环境搭建 安装Homebrew 安装rvm 安装nvm 安装node 安装react-native-cli 安装watchman i ...
- Nodejs中获取参数以及处理参数
先看题干效果 在这里我们建了一个表单 填入表单需要提交的信息 对两个参数进行获取和一个加法计算 表单html代码 <form action='http://localhost:8080' met ...
- 关于nodejs下载组件经常失败的问题
由于最近在刚开始做一个前台element和mybatisplus的项目,但是在使用nodejs下载vue的脚手架和各种组件时,会经常出现下载失败的问题,进而导致前台无法启动. 在网上查询之后发现在下载 ...
- shell编程基础-01
1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的 ...