05--简单场景切换与精灵创建

场景就是游戏的不同状态,如游戏菜单、游戏关卡等等。而场景的切换由导演类CCDirector来完成,通常我们使用replaceScene(CCScene
*pScene)函数来切换场景。为了方便我使用上一节的项目,新建一个场景GameScene类和一个图层GameLayer类。


//GameScene.h
#pragma once

#include "cocos2d.h" //使用VS类向导添加,需要手工添加这句

class GameScene : public cocos2d::CCScene
{
public:
GameScene(void);
~GameScene(void);
};
//GameScene.cpp
#include "GameScene.h"
GameScene::GameScene(void)
{}
GameScene::~GameScene(void)
{}

//GameLayer.h
#pragma once
#include "cocos2d.h"

class GameLayer : public cocos2d::CCLayer
{
public:
GameLayer(void);
~GameLayer(void);
};

//GameLayer.cpp
#include "GameLayer.h"
using namespace cocos2d; //添加命名空间,要不然引擎的类如CCSize才能使用
GameLayer::GameLayer(void)
{
//获得屏幕的大小
CCSize size = CCDirector::sharedDirector()->getWinSize();

//创建一行文本并设置位置在屏幕中间
CCLabelTTF* pLabel= CCLabelTTF::create("Game Scene.", "Arial",30);
pLabel->setPosition(ccp(size.width/2,size.height/2));
//将这行文本添加到布景中
addChild(pLabel);


CCSprite* pSprite =
CCSprite::create("water.png");
   
pSprite->setPosition(ccp(size.width/2,size.height/2+80));
   
addChild(pSprite);


}

GameLayer::~GameLayer(void)
{
}

然后修改图片菜单的回调函数如下:


void HelloWorld::menuPlayCallback(CCObject* pSender)
{
CCLOG("menuPlayCallback");

//实例化一个场景和图层,并将图层添加到场景中
CCScene* pScene=new GameScene(); //需要引入头文件哈
CCLayer* pLayer=new GameLayer();
pScene->addChild(pLayer,0);

//使用淡入淡出效果切换场景
CCDirector::sharedDirector()->replaceScene( CCTransitionFade::create(2, pScene));
//释放
pLayer->release();
pScene->release();
}

OK场景切换代码写完了,看看运行效果:

05--简单场景切换与精灵创建,码迷,mamicode.com

时间: 2024-10-15 10:06:12

05--简单场景切换与精灵创建的相关文章

【cocos2d-x学习笔记】ZOder、tag、场景切换、精灵的各种创建方式、三个特殊层、坐标体系

ZOder: 1.是描述渲染顺序的值,每个CCNode都有ZOder,默认是0. 2.ZOder越大则越后面绘制.如果ZOder值相同,那么看arrival(全局变量每次加一)顺序,先加入的节点先绘制,ZOder只在相同父节点的节点直接进行比较 tag:是一个节点的身份证,方便通过getChildByTag来获取节点对象,它的意义在于减少成员变量 TAG只在相同父节点的节点之间有效 TAG在相同父节点的儿子之间不能相同,相同情况cocos不报错,getChildByTag可能会获取到不是你想要的

【转】Unity3D 场景切换与持久化简单数据储存(PlayerPrefs类)

本篇文章主要介绍了"Unity3D 场景切换与持久化简单数据储存(PlayerPrefs类)",主要涉及到Unity3D 场景切换与持久化简单数据储存(PlayerPrefs类)方面的内容,对于Unity3D 场景切换与持久化简单数据储存(PlayerPrefs类)感兴趣的同学可以参考一下. 持久化简单的数据储存在Unity3D 中提供了一个简单有效的方法,如果之前的你做过Android的开发你会发现在Unity3D中持久化数据的储存和Android非常的想象.那么下面MOMO 将用一

cocos2dx 3.1从零学习(二)——菜单、场景切换、场景传值

回顾一下上一篇的内容,我们已经学会了创建一个新的场景scene,添加sprite和label到层中,掌握了定时事件schedule.我们可以顺利的写出打飞机的主场景框架. 上一篇的内容我练习了七个新场景,每一个场景都展示不同的东西,像背景定时切换.各种字体的随机颜色和位置等.每次要切换一个场景都要修改AppDelegate中的调用代码,非常的不方便查看,这一篇我们写场景的切换.每当我们创建一个新的场景的时候只要添加对应按钮到主界面,点击即可以切换过去查看对应的效果.这个有点类似官方提供的cppt

8 cocos2dx添加场景切换效果,控制场景切换彻底完成之后再执行动画

 1 添加场景切换效果 供场景切换的类: CCTransitionJumpZoom CCTransitionProgressRadialCCW CCTransitionProgressRadialCW CCTransitionProgressHorizontal CCTransitionProgressVertical CCTransitionProgressInOut CCTransitionProgressOutIn CCTransitionCrossFade CCTransitionF

Cocos2d-X3.0 刨根问底(九)----- 场景切换(TransitionScene)源码分析

上一章我们分析了Scene与Layer相关类的源码,对Cocos2d-x的场景有了初步了解,这章我们来分析一下场景变换TransitionScene源码. 直接看TransitionScene的定义 class CC_DLL TransitionScene : public Scene { public: /** Orientation Type used by some transitions */ enum class Orientation { /// An horizontal orie

Cocos2d-x场景切换我换换换!----之游戏开发《赵云要格斗》(12)

这里是Evankaka的博客,欢迎大家前来讨论与交流------        转载请注明出处http://blog.csdn.net/evankaka/article/details/42883881 本文主要讲讲用Cocos Studio制作的登录界面,来设计一个层类,然后根据这个登录界面的选择,跳转到不同的场景.其中,本文用到的界面可参看上篇Cocos2d-x使用Cocos Studio制作界面并应用---之游戏开发<赵云要格斗>(11) cocos2d-x版本:2.2.5 工程环境:w

cocos2dx基础篇(26)——场景切换CCTransitionScene

[唠叨] 游戏中两个场景的切换时经常要被用到的,cocos2dx引擎为我们提供了许多场景切换的动画,我感觉有些和PPT的切换很类似,所以感觉很熟悉.如:淡入淡出.翻页.跳入跳出等等. 本节要讲的场景切换方式十分丰富,不过内容比较简单,很容易掌握. [致谢] http://gl.paea.cn/contents/d4d676f371519df4.html [场景管理] 在讲场景切换CCTransitionScene之前,先来复习一下场景CCScene的管理. 游戏运行的过程中,每次只能运行一个场景

Cocos2d-x场景切换相关函数介绍

场景切换是通过导演类Director实现的,其中的相关函数如下: runWithScene(Scene* scene).该函数可以运行场景.只能在启动第一个场景时候调用该函数.如果已经有一个场景运行情况下则不能调用该函数. replaceScene(Scene* scene).切换到下一个场景.用一个新的场景替换当前场景,当前场景被终端释放. pushScene(Scene* scene).切换到下一个场景.将当前场景挂起放入到场景堆栈中,然后再切换到下一个场景中. void popScene(

【转】 [Unity3D]手机3D游戏开发:场景切换与数据存储(PlayerPrefs 类的介绍与使用)

http://blog.csdn.net/pleasecallmewhy/article/details/8543181 在Unity中的数据存储和iOS中字典的存储基本相同,是通过关键字实现数据存储与调用. 下面来介绍一下Unity用来存储数据的PlayerPrefs 类. 使用PlayerPrefs可以在在游戏会话中保持并访问玩家偏好设置. 在Mac OS X上PlayerPrefs存储在-/Library/PlayerPrefs文件夹, 名文unity/[companyname]\[pro