文档章节

cocos2d中场景、导演、层、精灵、菜单、节点等概念理解

AndyZhouX
 AndyZhouX
发布于 2017/04/05 22:24
字数 589
阅读 17
收藏 0
点赞 0
评论 0

一、场景(Scene)

    场景可以理解为容器、空壳。里面要存放各种层、精灵、菜单等,其实相当于Android中的Activity。游戏中通常不止一个场景。

二、导演(Director)

    导演负责把控全场,左右的场景切换工作都是由导演来执行的。比如加载初始场景:Director::getInstance()->runWithScene(scene);(注意此处的runWithScene只用于加载初始场景)

三、层(Layer)

    层与层之间互不影响,互不干扰。它必须被添加到场景中才能生效。比如在一个横屏游戏中,人物在向前走动的过程中,而背景在不断地滚动。但是游戏的控制按钮是永远在固定的位置不会变的,游戏四周的对象是固定不变的,而任务在左右行走的过程中,NPC和地图背景都会随之移动。而实现这种效果的方式之一就是利用多个层。如游戏中的控制按钮为一个层,地图背景和NPC为一个层,不同的层在移动时不会干扰其他层。创建层:Layer *layer = Layer::create();

四、精灵(Sprite)

    精灵可以简单理解为游戏中物体对象的承载物,比如png图片。它的功能十分强大,放大、缩小、拉伸、压缩、旋转、改变颜色等都可以实现。不仅是这些,还有很多。

    实现复杂对象时,可以选择继承Sprite或者将Sprite作为成员,也就是组合。创建精灵:Sprite *sprite = Sprite::create("dog.png");

五、菜单(Menu)

    菜单Menu用于存放和管理各种子菜单,菜单类都以MenuItem开头。MenuLabel代表文字标签菜单项,MenuImage代表图片菜单项。每种菜单都可以相应单击事件。需要菜单响应单击事件,需指定回调函数。比如用menu_selector(HelloWorld::menuCloseCallback);

六、节点(Node)

    结点是cocos中一个很重要的类,它拥有日常所需大部分功能,如设置缩放、设置坐标、设置拉伸、获取大小、设置可见,还有一个很重要的功能就是可以指定程序每一帧都调用一个函数(schedule的用法)。Layer继承了Node,拥有更多的功能,因此也变得臃肿。

© 著作权归作者所有

共有 人打赏支持
AndyZhouX
粉丝 1
博文 124
码字总数 92698
作品 0
深圳
程序员
cocos2d-x一些核心概念介绍

Cocos2d-x中有很多概念,这些概念很多来源于动画、动漫和电影等行业,例如:导演、场景和层等概念,当然也有些有传统的游戏的概念。Cocos2d-x中核心概念:导演, 场景,层,节点,精灵,菜单...

技术小阿哥
2017/11/27
0
0
【Cocos2d-x】开发基础-Cocos2d-x核心概念

本篇博客讲解: 1.Cocos2d-x的核心概念 导演 导演类Director(v3.0之前是CCDirector)用于管理场景对象。 (所以3.0版本和以前的最大区别(我们看到的最大区别)就是类前面的CC,3.0版本是把所以的...

qq_26525215
2017/06/30
0
0
【Cocos2d-x】开发基础-Node与Node层级架构

本篇博客讲解: 1.Node与Node层级架构 2.Node中重要的操作 3.Node中重要的属性 4.游戏循环与调度 Node与Node层级架构 首先来看一张图 这个图反应了Node与Node的层级架构 所谓层级架构其实就是...

qq_26525215
2017/06/30
0
0
Cocos2d-x Lua Node与Node层级架构

Cocos2d-x Lua采用层级(树形)结构管理场景、层、精灵、菜单、文本、地图和粒子系统等节点(Node)对象。一个场景包含了多个层,一个层又包含多个精灵、菜单、文本、地图和粒子系统等对象。...

智捷课堂
2015/05/07
0
0
跟着石头哥哥学cocos2d-x(二)---2dx跨平台编译以及2dx概述

ps:目录是2dx概述!!! 上一节中我大概简述了2dx引擎环境的搭建,在交叉编译一概而过,这一节我将详细说下这方面的内容, 有人提出不用cygwin来编译,用adt毫无压力,额 我只想说 adt从我搞...

石头哥哥
2013/11/13
0
8
购买李宁Cocos2d-x套餐,送最新出的《Cocos2d-x游戏实战指南》签名书一本

活动时间:2016-10-18至2016-11-30 通过本套餐,可完全了解Cocos2d-x 3.x的相关技术,以及掌握C++语言,并具有一定的项目实战经验。 Cocos2d-x游戏开发套餐:http://edu.51cto.com/pack/vie...

androidguy
06/29
0
0
Cocos2d-x游戏引擎

1.场景 场景类在Cocos2d-x中用CCScene表示,单独的一个场景实际上只是一个空壳,里面什么东西都没有,我们需要向里面加入层,精灵,菜单等元素。我们都玩过一些手机或电脑游戏,在进入游戏之...

1415699306
2014/10/11
0
0
《Cocos2d-x实战 Lua卷》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659697.html 当当:http://product.dangdang.com/23659810.html 《Cocos2d-x实战 Lua卷》源码及样章下载地址: ...

智捷课堂
2015/03/26
0
1
《Cocos2d-x实战 JS卷 Cocos2d-JS开发》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659698.html 当当:http://product.dangdang.com/23659808.html 《Cocos2d-x实战 JS卷 Cocos2d-JS开发》源码及样...

智捷课堂
2015/03/26
0
0
疯狂ios讲义之疯狂打飞机(1)

疯狂打飞机游戏 本次我们将带领大家手动完成一个简单但功能完整的打飞机游戏,实现飞机飞行、飞机碰撞、发射子弹、敌机发射大子弹、背景音乐、子弹音效、分数统计、菜单管理等功能。它虽然不...

fkJava李刚
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 public class array {public static void main(String[] args){long[] arr;arr = new long[100];int nElems = 0;int j;...

沉迷于编程的小菜菜
9分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
10分钟前
0
0
Sparkstreaming and Kafka

简介 Kafka 0.10的Spark Streaming集成设计与0.8 Direct Stream方法类似。 它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应关系,以及对偏移量和元数据的访问。 但是,由于较新的...

刺猬一号
14分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
42分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
46分钟前
1
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
1
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部