【Cocos2d-x】开发基础-Cocos2d-x核心概念

本篇博客讲解:
1.Cocos2d-x的核心概念

导演

导演类Director(v3.0之前是CCDirector)用于管理场景对象。
(所以3.0版本和以前的最大区别(我们看到的最大区别)就是类前面的CC,3.0版本是把所以的类前缀CC都去掉了)

采用单例设计模式!(不多解释啦,不知道的朋友请搜索)

auto director = Director::getInstance();//获取唯一的导演  单例模式

导演对象的职责/作用

访问和改变场景
访问Cocos2d-x的配置信息
暂停、继续和停止游戏
转换坐标

上面只是导演对象的职责其中一部分,还有其他很多,但我们不需要让导演做很多事情(其他的事被隐藏了),我们用的最多的应该就是访问和改变场景、暂停、继续和停止游戏和转换坐标

场景

场景类Scene(v3.0之前是CCScene)是构成游戏的界面,类似于电影中的场景。

像导演、场景、包括层,精灵等这些游戏的概念,其实都是从电影行业中过渡过来的。
那么,电影行业,我们知道有场景,有导演。
场景就是我们拍这场戏,我们布置的景 比如打斗的场景等
场景中会有男主角,女主角,那么男女主角就相当于我们这里的精灵了,包括道具什么的(精灵),这些东西在一起,就构成了层

所以场景里面也会放一些层

场景大致可以分为以下几类

展示类场景。播放视频或简单的在图像上输出文字,来实现游戏的开场介绍、胜利和失败提示、帮助介绍
选项类场景。主菜单,设置游戏参数等(比如开始,暂停,继续菜单)
游戏场景。这是游戏的主要内容

Scene类图:继承图

层是我们写游戏的重点,我们大约99%以上的时间是在层上实现我们游戏内容。
层的管理类似于Photoshop中的图层,它也是一层一层叠在一起

我们一般写的很多类都是层,然后在层上面添加精灵等.然后把层放到场景里
场景包含层,层包含精灵,菜单等对象

理论上来说,层的层数越多(层与层之间有覆盖的问题,后面的层会覆盖先绘制的层),需要绘制的深度越深,越耗CPU
大家可以打开Photoshop,用里面的图层来理解,这样更加直观

精灵

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

菜单

菜单在游戏中时非常重要的概念,它提供操作的集合,在Cococ2d-x中菜单类是Menu

Menu中包含菜单项
MenuItem,它有三个子类:
MenuItemLabel、MenuItemSprite和MenuItemToggle

之前的HelloWord中的关闭按钮其实就是一个菜单项
我们也可以用精灵来实现,但是菜单项封装了一些触摸事件,你不需要关心它事件处理的细节问题

本文章由[谙忆]编写, 所有权利保留。
欢迎转载,分享是进步的源泉。

转载请注明出处:http://chenhaoxiang.cn

本文源自人生之旅_谙忆的博客

时间: 2024-10-28 23:55:40

【Cocos2d-x】开发基础-Cocos2d-x核心概念的相关文章

IOS开发:Cocos2d触摸分发原理分析

  触摸是iOS程序的精髓所在,良好的触摸体验能让iOS程序得到非常好的效果,例如Clear.鉴于同学们只会用cocos2d的 CCTouchDispatcher 的 api 但并不知道工作原理,但了解触摸分发的过程是极为重要的.毕竟涉及到权限.两套协议等的各种分发. 本文以cocos2d-iphone源代码为讲解.cocos2d-x 于此类似,就不过多赘述了. 零.cocoaTouch的触摸 在讲解cocos2d触摸协议之前,我觉得我有必要提一下CocoaTouch那四个方法.毕竟cocos2

《MySQL DBA修炼之道》——第3章 开发基础 3.1相关基础概念

第二部分 开发篇 本篇首先讲述数据库开发的一些基础知识,如关系数据模型.常用的SQL语法.范式.索引.事务等,然后介绍编程开发将会涉及的数据库的一些技巧,最后结合生产实际,提供一份开发规范供大家参考. 第3章开发基础 本章将为读者介绍 MySQL 数据库相关的开发基础,首先,介绍一些基础概念,然后讲解关系数据模型和 SQL 基础.由于在互联网开发者中,PHP 开发者占据了相当大的比重,因此这里也将简要介绍下 PHP 开发者应该掌握的一些基础知识和开发注意事项.最后,要接触的是 MySQL 数据库

Zynga收购iPhone游戏开发工具Cocos2d

北京时间5月10日早间消息,社交游戏开发商Zynga周一宣布,该公司已通过收购获得了iPhone游戏开发框架工具的两名关键开发者.根据协议,阿根廷人里卡多·克萨达(Ricardo Quesada)和智利人罗纳尔多·阿瓦尔卡(Rolando Abarca),这两位开发者将为Zynga旧金山公司工作.Zynga最近不断进行了多次小型收购,在过去的12个月当中,该公司已完成了13笔收购交易. Cocos2d被许多iPhone程序采用,包括各大游戏公司如雅达利.南梦宫.Gamevil和Zynga都会使用

【COCOS2DX-LUA 脚本开发之一】LUA语言基础在COCOS2DX游戏中使用LUA脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2dx/681.html 对于游戏公司而言,采用游戏脚本lua.python等进行开发也很常见,但是很多童鞋对脚本并没有很熟悉的概念,本篇则向大家简单介绍脚本的用途以及在Cocos2dx基础用法: Lua和python这些详细介绍的话,请不太熟悉的童鞋自行百度百科哈,那么对于lua和python则是两个常用的脚本语言,

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都与大数据

《Spark大数据分析:核心概念、技术及实践》Scala编程

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第2节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用Java编写的.尽管大多数的

Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下.写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠谱的. 由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Build Lifecycle.Goal).用法(Archetype意义及创建各种项目).maven常用参数和命令以及简单故障排除.maven扩展(eclipse.cobertura.findbugs.插件开发).maven配置. 较长,可根据个人需要有选择性的查看,比如

《Spark大数据分析:核心概念、技术及实践》Spark Core

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Spark Core Spark是大数据领域最活跃的开源项目,甚至比Hadoop还要热门.如第1章所述,它被认为是Hadoop的继任者.Spark的使用率大幅增长.很多组织正在用Spark取代Hadoop. 从概念上看,Spark类似于Hadoop,它们都用于处理大数据.它们都能用商用硬

《Spark大数据分析:核心概念、技术及实践》一 第2章 Scala编程

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第2章,第2.1节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 第2章 Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用J