cocos2d-x一些核心概念截杀
Cocos2d-x中有很多概念,这些概念很多来源于动画、动漫和电影等行业,例如:导演、场景和层等概念,当然也有些有传统的游戏的概念。Cocos2d-x中核心概念:导演, 场景,层,节点,精灵,菜单动作,效果,粒子运动,地图,物理引擎。
导演
导演类Director(v3.0之前是CCDirector)用于管理场景对象,采用单例设计模式,在整个工程中只有一个实例对象。由于是单例模式能够保存一致的配置信息,便于管理场景对象。获得导演类Director实例语句如下:
- 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,它表现出不同的效果。每个菜单项都有三个基本状态:正常、选种和禁止。
cocos2d-x一些核心概念截杀的更多相关文章
- JAVA入门(1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则)
主要内容: 1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则 JAVA的平台应用 JAVA的平台应用分为3个部分: 一.JAVA SE,主要 ...
- 01 . 容器编排简介及Kubernetes核心概念
Kubernetes简介 Kubernetes是谷歌严格保密十几年的秘密武器-Borg的一个开源版本,是Docker分布式系统解决方案.2014年由Google公司启动. Kubernetes提供了面 ...
- 领域驱动设计(DDD)部分核心概念的个人理解
领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...
- Javascript本质第一篇:核心概念
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理 ...
- [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)
本系列导航 本系列其他文章目录请戳这里. 1.名字.约束时间(Binding Time) 在本篇博文开始前先介绍两个约定:第一个是“对象”,除非在介绍面向对象语言时,本系列中出现的对象均是指任何可以有 ...
- spring技术核心概念纪要
一.背景 springframework 从最初的2.5版本发展至今,期间已经发生了非常多的修正及优化.许多新特性及模块的出现,使得整个框架体系显得越趋庞大,同时也带来了学习及理解上的困难. 本文阐述 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- Playmaker Input篇教程之引入的核心概念
Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机.动作.变量和事件.了解它们是学习操作Playmaker ...
- Maven的几个核心概念
POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它 ...
随机推荐
- Codeforces Round #253 (Div. 1) A. Borya and Hanabi 暴力
A. Borya and Hanabi Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/442/p ...
- Codeforces Round #311 (Div. 2) D. Vitaly and Cycle 图论
D. Vitaly and Cycle Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/p ...
- (字符串的处理4.7.16)POJ 1159 Palindrome(让一个字符串变成回文串需要插入多少个字符...先逆序,在减去公共子序列的最大长度即可)
/* * POJ_1159.cpp * * Created on: 2013年10月29日 * Author: Administrator */ #include <iostream> # ...
- Objective-C的对象模型和runtime机制
内容列表 对象模型(结构定义,类对象.元类和实例对象的关系) 消息传递和转发机制 runtime系统功能理解 对象模型 结构定义 对象(Object): OC中基本构造单元 (building blo ...
- Android如何完全调试framework层代码
1 之前写过一篇文章:<Android实现开机调试system_process> 2 google的eclipse插件ADT的已经能够很方便的调试Android的apk了,但是调试的时候应 ...
- TP复习9
配置文件 'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次'TMPL_DETECT ...
- 创建ORACLE JOB
oracle job简介 主要的使用情景 定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等 熟化说万事开头难,这里我只简单记述一个创建一个简单的job 步骤如 ...
- Android概览
1.1 Android的开发缘由 早起的移动电话单单只具有手机的功能,并没有追求更多的追求功能和游戏娱乐.而在诺基亚提供的“贪吃蛇”游戏集成获得巨大成功的时候,手机制造商们才意识到手机 ...
- ubuntu11.04编译TQ2440 Qt2.2.0 成功
转:http://blog.csdn.net/xuehui869/article/details/8958311 运行主机:ubuntu 32位 11.04QT版本:2.2.0开发板:TQ2440源码 ...
- WPF 之 资源(Resource)
1.什么叫WPF的资源(Resource)? 资源是保存在可执行文件中的一种不可执行数据.在WPF的资源中,几乎可以包含图像.字符串等所有的任意CLR对象,只要对象有一个默认的构造函数和独立的属性. ...