cocos2d-x一些核心概念截杀

Cocos2d-x中有很多概念,这些概念很多来源于动画、动漫和电影等行业,例如:导演、场景和层等概念,当然也有些有传统的游戏的概念。Cocos2d-x中核心概念:导演, 场景,层,节点,精灵,菜单动作,效果,粒子运动,地图,物理引擎。

下面我们介绍导演、场景、层、精灵、菜单概念以及对应的类,由于节点概念很重要我们会在下面详细介绍,而其他的概念将在后面介绍。

导演

导演类Director(v3.0之前是CCDirector)用于管理场景对象,采用单例设计模式,在整个工程中只有一个实例对象。由于是单例模式能够保存一致的配置信息,便于管理场景对象。获得导演类Director实例语句如下:

[html] view plaincopy

  1. auto director = Director::getInstance();

导演对象职责如下:访问和改变场景,访问Cocos2d-x的配置信息,访问视图对象,暂停、继续和停止游戏,转换坐标。

Director类图

从类图中还可以看到它有一个子类是DisplayLinkDirector。

场景


场景类Scene(v3.0之前CCScene)是构成游戏的界面,类似于电影中的场景。场景大致可以分为以下几类:展示类场景。播放视频或简单的在图像上输出文字,来实现游戏的开场介绍、胜利和失败提示、帮助介绍,选项类场景,主菜单、设置游戏参数等,游戏场景。这是游戏的主要内容。

从类图可见Scene继承了Node类,Node是一个重要的类,很多类都从Node类派生而来,其中有Scene、Layer等。

层是我们写游戏的重点,我们大约
99%以上的时间是在层上实现我们游戏内容。层的管理类似于Photoshop中的图层,它也是一层一层叠在一起。下面是一个简单的主菜单界面是由三个层叠加实现的。

为了让不同的层可以组合产生统一的效果,这些层基本上都是透明或者半透明的。层的叠加是有顺序的,如图所示从上到下依次是:菜单层→精灵层→背景层。Cocos2d-x是按照这个次序来叠加界面的。这个次序同样用于事件响应机制,即菜单层最先接收到系统事件,然后是精灵层,最后是背景层。在事件的传递过程中,如果有一个层处理了该事件,则排在后面的层将不再接收到该事件了。每一层又可以包括很多各式各样的内容要素:文本、链接、精灵、地图等等内容。

下面是层类Layer的类图。

精灵


精灵类Sprite(v3.0之前CCSprite)是游戏中非常重要的概念,它包括了敌人、控制对象、静态物体和背景等。
通常情况它会进行运动,运动方式包括了:移动、旋转、放大、缩小和动画等。

下面是Sprite类图,从图中可见Sprite是Node派生类,Sprite包含很多类型,例如物理引擎精灵类PhysicsSprite也都属于精灵。

菜单


菜单在游戏在是非常重要的概念,它提供操作的集合,在Cocos2d-x中菜单类是Menu,从类图可见Menu类派生于Layer。

在菜单中又包含了菜单项MenuItem,从图中可见菜单项MenuItem有很多种形式的子类,如MenuItemLabel、MenuItemSprite和MenuItemToggle,它表现出不同的效果。每个菜单项都有三个基本状态:正常、选种和禁止。

时间: 2024-08-28 03:42:03

cocos2d-x一些核心概念截杀的相关文章

[docker] 02 CentOS安装docker(包含失败),安装命令简介,以及docker核心概念

主要内容: 一.安装docker(包含卸载重新安装) 二.配置docker服务 三.安装命令简介 四.docker核心概念 一.安装docker 1.1. 通过uname -r查看系统版本,为什么要查看系统版本呢?因为docker对CentOS有以下要求: a. CentOS 7及以后的版本 b. 64位操作系统 c. 内核版本至少3.10 1.2. 支持devicemapper存储类型 sudo yum update sudo yum install -y device-mapper-pers

Hadoop hdfs&mapreduce核心概念

1.HDFS(分布式文件系统体系) 1.1.NameNode:(名称节点) Hdfs的守护程序 记录文件是如何分割成数据块的,以及这些数据块被存储到了哪些节点上 对内存和I/O进行集中管理 是个单点,发生故障将使集群崩溃 1.2.SecondaryNamenode(辅助名称节点):发生故障进行人工的设置才能实现集群崩溃的问题 监控HDFS状态的辅助后台程序 每个集群都有一个 与NameNode进行通讯,定期保存HDFS元数据快照 与NameNode故障可以作为备用NameNode使用 1.3.D

CSS的四个核心概念

CSS(Cascading Style Sheet)层叠样式表,又称级联样式表,是一组格式设置规则,用来进行网页风格设计.通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离.页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分.将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间. CSS的核心概念有四个:标准流.盒模型.position.float,它们

Maven的几个核心概念

POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它使用 java 1.5 来编译. 示例的 POM: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

C#面向对象的核心概念

一.面向对象的核心概念 (一)抽象--面向对象的根基 讲到抽象,不得不涉及到现代科学技术的基础--数学. 数学是一门抽象的科学,面对着纷繁复杂的世间万物,数学不理会各种事物的独特特性,而只抽取它们在数量上的特性,深刻揭示了"世间万物"在数量上表现出的共同规律,抽象正是数学的本质特征. 数学的一个分支--离散数学是计算机科学的根基之一,因此,计算机科学从诞生之日起,就与数学有着密不可分的联系,抽象思维也是计算机科学的主要思维方法之一. 在使用面向对象的方法设计一个软件系统时,首先就要区分

Angularjs的核心概念

1. 客户端模板 多页面的应用通过组装和拼接服务器上的数据来生成HTML,然后输出到浏览器.Angularjs不同于此的是,传递模板和数据到浏览器,然后在浏览器端进行组装.浏览器的角色编程了只提供模板的静态资源和模板所需要的数据. <html ng-app> <head> <script src="angular.js"></script> <script src="controllers.js"><

面向对象的核心概念

1.面向对象的核心概念 从理论上说,面向对象技术拥有四大基本特性. (1)封装 这是一种隐藏信息的特征.封装这一特性不仅大大提高了代码的易用性,而且还使得类的开发者可以方便的更换新的算法,这种变化不会影响使用类的外部代码.可以用以下公式展示类的封装特性: 封装的类=数据+对此数据所进行的操作(即算法) 通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西. 在面向对象理论中,封装这个概念拥有更为宽广的含义.小到一个简单的数据结构,大到一个完整的软件子系统,静态的如某软件系统

理解maven的核心概念

原文链接:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的任务,顺便重新体会了 maven 这一利器. 在使用过程中发现以前对maven的理解不够深入,借此机会重新梳理了一下maven的核心概念.相信理解了这些核心概念, 即使长时间不使用,以后再重新上手也会非常容易. 本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系. Table of

Docker核心概念

Docker的三大核心概念 镜像 容器 仓库 1.Docker镜像 Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统.镜像是创建容器的基础.通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并通过简单的命令就可以直接使用. 2.Docker容器 Docker容器类似于一个轻量级的沙箱(沙箱是一个虚拟的环境,在这份环境运行的程序都是独立的,不会对你的现用操作系统造