Cocos2d-X 3.14 学习心得(二) ---- 核心类介绍

各位晚上好,咱们接着上回的Cocos2d-X继续说,今天呢,咱们介绍几个核心的类,通过与iOS中的相似的类进行对比,让大家非常轻松的了解Cocos2d-X的框架。咱们先看下图:

屏幕快照 2017-03-02 下午6.12.09.png

1.Director:俗称导演类,Director是Cocos2d-X的核心,也是整个游戏的导航仪,每一个游戏就相当于一部电影,当然电影有好的也有坏的,游戏也有好坏之分,这个导演类以单例的形式存在,我们在开发过程中可以使用Director::getInstance()的方法获取该对象,之后使用对象方法切换场景或者获取比如屏幕尺寸在内的想要的数据,例如,获取屏幕的尺寸咱们就可以使用Director::getInstance()->getWinSize()的方法,当然该函数的返回值是Size类型的,然后通过size.width,size.height获取到屏幕的宽和高;对于切换场景会有以下几种方法,咱们来一个一个的看一下:
(1)runWithScene( Scene *scene );该方法有且仅在启动游戏的时候会调用,只此一次,用来初始化游戏显示的第一个场景。
(2)pushScene( Scene scene ) ;该方法类似于iOS中的pushToViewController:(UIViewController)viewController这个方法,将下一个场景压入栈中并运行下一个场景。
(3)replaceScene( Scene *scene ); 直接使用传入的scene替换当前场景来切换画面,当前场景被释放。这是切换场景时最常用的方法。
(4)popScene() 释放当前场景;类似于iOS中的popToViewController方法,从代码执行场景中弹出栈顶的场景,如果栈为空,直接结束应用。和PushScene结对使用。
对于Director这个类咱们可以对比与iOS中的创建和使用单例的方法来理解和学习。
2.Scene:该类相当于iOS开发中的UIView类,将不同的view加载到屏幕上来展现不同的游戏页面,同时Scene也是一个容器,他可以包含很多的元素。
3.Layer:与场景不同,层通常包含的是直接在屏幕上呈现的内容,我们知道iOS中的view中也有很多的layer,同时一个view可以加在很多的layer,我们可以对每一个layer进行绘制,呈现出不同的样式,当然Cocos2d-X中的Layer可以接受用户的输入事件,包括触摸,加速度计和键盘输入等。例如横屏打斗游戏,人物向前行走的过程中,背景会不断地滚动,但是游戏的控制按钮永远在固定的位置不变。要向场景添加层,我们可以使用addChild方法;
(1)addChild( Node * child ) ;
(2) addChild( Node *child, int zOrder ) ;
(3)addChild( Node *child, int zOrder, int tag ) ;
第一个参数Node为层,可以为继承自Node的子类;zOrder为指定添加的先后顺序,类似于iOS开发中的insertView:(UIView *)view atIndex:(NSInteger)index;可以分步添加child;tag为对应该child的tag值,如果该child非全局的变量,可以通过tag获取该child。
4.Sprite:精灵类,对于iOS开发中的Label,UIImageView相似,它可以移动,旋转,缩放,执行动画,并接受其他转换。对于Sprite的创建方法有很多种,咱们看下系统提供的几种方法:
屏幕快照 2017-03-02 下午9.57.38.png

第一个方法是父类的方法,使用后直接返回Sprite对象,该对象任何的图片或者字体的修饰;第二个方法传入一个文件名字,该文件名为图片名字,创建后返回一个带有图片的Sprite对象,同时创建之后要加在的视图上并且设置该Sprite的position,不然无法确定该Sprite对象所在屏幕的具体的位置;第五个方法通过纹理的方式创建Sprite对象,该方法和第二种类似,也是通过添加image来创建。剩下的几种方法大家有机会可以自己尝试,毕竟不是每一种方法都能用到,咱们主要介绍几种常用的创建方法。

对于Cocos2d-X的几种主要的类咱们就介绍这么多,如果大家想要学习Cocos2d-X,还是要多去查看视频或者资料,并且要自己亲自动手去敲代码,下面有个我修改的一个小游戏,由于这个小游戏在Cocos2d-X 2.2版本下编写,所以我重写了其中的一些方法,导致bug比较多,但是可以运行起来,大家主要学习一下实现一个游戏可能用到的一些方法,通过下面这个小游戏的代码。

参考资料:
Cocos2d-X 官网: http://www.cocos2d-x.org/

小游戏下载地址:
https://github.com/CveniEs/Cocos2d-X

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 前言 我选择开发一个游戏有很多原因。我觉得自己是“核心”玩家,过去的大部分时间我都花在玩游戏,自己制作、阅读和游戏...
    月影檀香阅读 11,511评论 1 27
  • 转自--http://www.cocos.com/doc/article/index?type=cocos2d-x...
    babybus_newapp阅读 811评论 0 0
  • 标题 标题 标题 斜体粗体无序列表 无序列表 无序列表2 无序列表3 有序列表 游学 游戏 参考练习引用 引用的是...
    冥诱阅读 492评论 0 0
  • 你为什么买不起房? 纠结犹豫:手头有钱付首付的时候,看房永远带着挑儿媳妇的眼光,嫌七嫌八。楼层不行,朝向不好,阳台...
    张学伟阅读 483评论 0 0
  • 启迪乐高学员:刘逸凡 课程阶段:搭建能手 课程主题:野餐 任课老师:小鱼老师 课程日期:2017.10.18 学习...
    小孩mumu阅读 298评论 0 0