一、创建文件

首先呢,就是那个创建新的.h 和 .cpp 的文件,然后可以起名为GameScene

最重要的就是一定要创建在Classes的目录下哦= =,别手抖= =。

二、GameScene.h和GameScene.cpp

简单来说就是先搭建一个空的场景,为了以后一些游戏主题的层做一个容器,然后我们应该怎么处理呢?

然后呢……先贴代码~

//GameScene.h

#ifndef WeiXinDaPlane_GAME_SCENE_H__
#define WeiXinDaPlane_GAME_SCENE_H__ #include "cocos2d.h" USING_NS_CC; class GameScene: public Scene
{
public:
GameScene();
~GameScene(); virtual bool init(); //这是二段式的设计模式~就是把创建和初始化分开,详情请见子龙山人的博客~ CREATE_FUNC(GameScene); protected: private:
};

简单的来说就是继承了Scene之后,创建一个空的Scene。

1、CREATE_FUNC(GameScene),上节已详述,就是cocos2d封装的一个创建和初始化的宏定义~。

2、init() 是继承Scene的,基本上GameScene的操作最后都是要从这里加入的~

然后是cpp,就是很简单的实现一下下,做一个空的容器而已~

#include "GameScene.h"

GameScene::GameScene()
{ } GameScene::~GameScene()
{ } bool GameScene::init()
{
if (!Scene::init())
{
return false;
} return true;
}

三、WelcomeScene 切换到 GameScene

大家是否还记得WelcomeScene那里是有个LoadIng的动画,我们需要做的就是在Loading动画后加入一个转场的操作,这里需要一个动作序列,大家请看代码~

auto animation = Animation::create();
animation->setDelayPerUnit(0.5f);
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("game_loading1.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("game_loading2.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("game_loading3.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("game_loading4.png"));
auto animate = Animate::create(animation); auto animationDone = CallFunc::create(
[=](){
auto scene = GameScene::create();
auto transition = TransitionSlideInB::create(, scene);
Director::getInstance()->replaceScene(transition); }); auto sequence = Sequence::create(animate, animationDone, NULL); gameLoading->runAction(sequence);

3、所谓的sequence就是一个动作的序列,你可以把多个连续的动作合并创建出一个sequence,然后让对象直接run这个sequence,就会把所有的动作按顺序执行一遍。

4、然后转场的关键地方就是在那个animationDone,这里是一个XXX表达式(小白~~不知道如何表达),就是一个隐式的函数(没有函数名),然后其中的内容就是,实例化一个GameScene,加入一个过场动画,然后让Dicrector执行这个动画就会转场啦~。

然后默默放出效果图~

然后就看下一节吧~

cocos2dx游戏开发——微信打飞机学习笔记(四)——GameScene的搭建的更多相关文章

  1. cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建

    一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何 ...

  2. cocos2dx游戏开发——微信打飞机学习笔记(七)——Enemy的搭建

    一.文件创建~ Enemy.h Enemy.cpp 二.How to do? 由于我是已经完成成个游戏的功能,所以我会将游戏中enemy所需要的很多功能基本上都先考虑到了,如果大家自己在做的时候也许没 ...

  3. cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备

    一.环境的搭建 1.Windows开发准备: (1)软件下载及安装 •下载Cocos2d-x 最新版本:http://www.cocos2d-x.org/download 或者从Cocos2d-x G ...

  4. cocos2dx游戏开发——微信打飞机学习笔记(九)——BulletLayer的搭建

    一.创建文件~ BulletLayer.h BulletLayer.cpp 二.How to do? (1)实例化BulletLayer方法的实现~ Bullet(PlayerLayer* temp) ...

  5. cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建

    一.创建文件= =               EnemyLayer.h               EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...

  6. cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建

    一.创建文件~ 文件名:BackgroundLayer.h BackgroundLayer.cpp 架构就跟前面的一样,我就直接进入正题 啦,而且github有完整代码,欢迎下载~ 二.创建滚动的背景 ...

  7. cocos2dx游戏开发——微信打飞机学习笔记(十)——碰撞检测的搭建

    一.七说八说        大家都发现了= =,做了那么多,发现就是摆设,完全没有打飞机的感觉,没有实现碰撞的监测.比如说呢,子弹和敌机,玩家与敌机就是需要有碰撞检测的说,然后在这篇我想会很长很长的教 ...

  8. cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架

    一.游戏的基本框架: WelcomeScene    ——>    GameScene   ——>   GameOverScene ||                           ...

  9. cocos2dx游戏开发——微信打飞机学习笔记(六)——PlayerLayer的搭建

    一.创建文件~ PlayerLayer.h PlayerLayer.cpp 一般类名都会和文件名有关系的~(在这里当然是一样) 二.How to do? 1.首先就是放一个飞机~ CC_SYNTHES ...

随机推荐

  1. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  2. Hibernate unsaved-value 属性

    Session的saveOrUpdate方法是由Hibernate来判断被操作对象究竟是一个持久化对象还是临时自由状态对象.这需要在对象映射文件的主键id中定义unsaved-value属性,如果不显 ...

  3. SqlDataReader执行带输出参数存储过程 错误分析

    在上一篇随笔:SqlDataReader读取分页数据,pageCount你是肿么了? 遇到了很让人头疼的问题:SqlDataReader执行带输出参数的存储过程总是获取不到输出参数的正确值.这里将解决 ...

  4. wireshark基本用法及过虑规则

     wireshark基本用法及过虑规则 标签: wireshark基本语法wireshark使用方法wireshark包过虑规则 2015-02-03 18:44 10711人阅读 评论(0) 收藏  ...

  5. Linux for windows cp 数据中文乱码

    今天遇到一个很奇葩的问题,不仅让我纠结了半天更影响了我的工作效率找到了一种解决方法.分享和记录下以备自己和后人参考 说下情况 本人的Linux服务器上的数据要cp到新安装的windows server ...

  6. 容易被忽略的CSS特性

    CSS初学感觉很简单,但随着学习的深入才感觉CSS的水由多深,平常总会遇到各种坑,先总结一些经常遇到的坑 大小写不敏感 虽然我们平时在写CSS的时候都是用小写,但其实CSS并不是大小写敏感的 .tes ...

  7. jquery 调用数据

    <body> <div id="aa" style="">hello</div> <div class="b ...

  8. XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析

    2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...

  9. CoreLoation

    - (CLLocationManager *)locationManager { if (!_locationManager) { _locationManager = [[CLLocationMan ...

  10. C#开发实例 键盘篇

    键盘的操作控制: 键盘和鼠标一样是重要输入设备的一部分.开发过程中,会涉及到很多的键盘操作控制. 2.1获取键盘信息 ①获取组合键 Windows中有很多默认的组合键,如Ctrl+v,Ctrl+A.本 ...