Cocos2dx 学习笔记整理----场景切换

据说Cocos2dx场景切换的方法有32种:cocos2dx
常见的32种切换场景的动画

无需一一求证,只需要知道切换场景需要怎么做就行了。

作为导演CCDirector,切换场景的事情当然归它管了。

切换场景的接口如下:

?





1

CCDirector::sharedDirector()->replaceScene(cocos2d:CCScene * pScene);

所以,我们只要把需要切换的场景实例传进去就可以了。

?





1

2

CCScene * pScene = GameMain::scene();

CCDirector::sharedDirector()->replaceScene( CCTransitionProgressHorizontal ::create(1.0f , pScene));

其中 CCTransitionProgressHorizontal 可以用32种里面的任意一种去替换。

在场景类里面加上3个声明周期相关的函数:

?





1

2

3

void
onEnter();

void
onEnterTransitionDidFinish();

void
onExit();//进行资源回收

后续会加上:

1 场景做成单例不用每次切换场景的时候通过 scene() 方法去重新new一个出来
2
切换场景的时候对场景内的资源进行回收

3 看看全局公用一个scene的可能性

遇到的问题:

新建类的图文件在别的类里面没法使用,表现为报错,找不到文件,可以通过在项目属性的包含路径里面添加对应类的路径就可以了。

Cocos2dx 学习笔记整理----场景切换,布布扣,bubuko.com

时间: 2024-10-25 19:42:57

Cocos2dx 学习笔记整理----场景切换的相关文章

Cocos2dx 学习笔记整理----第一个项目

接上一节, 进入新建的项目下面的proj.win32下面,找到项目名.sln文件(我的是game001.sln),双击会通过VS2010打开.(当然,你装了VS什么版本就是什么版本) 将你的项目设为启动项目, 切换到解决方案视图, 然后邮件点击解决方案, 选择生成解决方案. 第一次生成根据个人机器性能会消耗大概1-3分钟,呵呵. 但是以后会快很多的. 生成成功的话会在输出窗口显示如下: 一般都会生成成功,但是我生成的时候失败了很多次,后来发现是这个问题:http://www.cnblogs.co

Cocos2dx 学习笔记整理----开发环境搭建

最近在学习cocos2dx,预备将学习过程整理成笔记. 需要的工具和环境整理一下: 使用的版本 cocos2dx目前已经出到了v3.1.1,学习和项目的话还是用2.2.3为宜,毕竟不大想做小白鼠,并且学习了几天之后才发出3.X版本的,版本内容变动比较大. 开发环境 1 jdk 1.6以上 2 python 2.7为宜(创建项目要用的) 3 NDT+Android SDK 4 Cygwin或者MinGW 开发工具 1 Eclipse + CDT + ADT 2 VS2010 3 Sublime T

Cocos2dx 学习笔记整理----在项目中使用图片(初)

cocos2dx有多种使用图片的方法,先来个最简单的:用CCSprite直接使用图片. 首先,进入到之前建立的项目,把你将要使用的图片放入到目录下的Resources文件夹里面.项目中以相对路径使用资源皆是以Resources文件夹为根目录参考的. 然后进入到HelloWorldScene.cpp的init方法的最后面加入以下代码: ? 1 2 3 CCSprite * sprite = CCSprite::create("bl_24.png"); sprite->setPosi

Cocos2dx 学习笔记整理----在项目中使用图片(二)

之前了解了一种比较简单的图片的使用方式, 今次来了解稍微复杂一点的图片使用方式,plist+png. 这里要用到之前提到的Texture Packer. Texture Packer是一款图片打包工具,Texture Packer可以将素材打包成我们项目需要的格式. Cocos2dx支持很多种格式, 我们可以将某一种类的或者有共性的图片打包到一个png,然后用plist管理,以节约加载和内存,且显卡支持的纹理尺寸的长宽为2的n次幂,Texture Packer会把纹理整合到次尺寸. 今次我们利用

Cocos2dx学习笔记5:场景(Scene)

场景(Scene)是游戏的直接表现元素,游戏是由若干不同的场景构建而成.游戏里面的关卡切换,地图切换实际就是游戏场景的切换.而这所有的流程都是Director来控制. 在项目中打开AppDelegate.cpp文件. 引用头文件#include "HelloWorldScene.h" auto scene = HelloWorld::createScene();//调用HelloWorld::createScene()创建场景 director->runWithScene(sce

Cocos2dx 3.1.1 学习笔记整理(2)

把之前用2.2.3的代码迁移到3.1.1真是个蛋疼的工作,话说3.1.1做的改动还真是大啊. 可以在HelloWorldScene.cpp中看到,之前的各种CCXXX都被废弃了. 例如,新建一个CCLayer现在是Layer, CCScene现在用Scene. 以下是新建一个场景,并在场景中放置一个图片的例子: #pragma once #include "cocos2d.h" USING_NS_CC; class GameMain : public cocos2d::Layer {

Cocos2dx 3.1.1 学习笔记整理(1)

最近手痒了,不小心下载了cocos2dx 3.1.1,又搞了个VS2012,于是头脑发热的搞起 3.1.1了. 我是有多么的不专心啊. 已经把自己之前的学习内容从2.2.3迁移到了3.1.1,除了骨骼动画相关的之外. 简单记录一下过程: 1 安装与搭建 解压cocos2dx3.1.1版本,根目录下会有download-deps.py和setup.py, 预先用python分别对这两个文件跑一遍,有问题的话解决问题,没问题的话最好了. 2新建项目 跑完以上两个py文件之后,会自己将所有相关的系统环

Cocos2d-x学习笔记(3)

Cocos2d-x有一个包括全部其它头文件的cocos2d.h,仅仅要在使用时包括这个头文件,就能够使用引擎的全部功能.Cocos2d-x的类都放置于cocos2d的命名空间下,如引擎下的"actions/CCAction.h"中在文件首尾使用NC_CC_BEGIN和NS_CC_END来将全部类型包括在cocos2d命名空间下.在游戏中使用#define USING_NS_CC using namespace cocos2d定义的宏USING_NS_CC来说明命名空间. 1.构造函数与

Cocos2d-x学习笔记(四)CCScene分析

原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38730335 前言 之前提到CCScene是场景,是整个游戏的舞台,通过查看源码我们不难发现CCScene也是CCNode的子节点,那么它也拥有我们上一节讲的CCNode的所有非private属性及方法. CCScene的作用十为了联系所有的CCNode节点(包括CCLayer.CCSprite等). 当清楚知道每个场景要显示的内容,那么定义出不同的CCNode,然后