场景的切换

/**

* 以下代码实现的是切换场景的目的,

* 点击文本框中的字体时,切换场景,有图片

*/

//1.修改bool HelloWorld::init()方法

//2.创建ImageScene方法,c++

//3.将创建的场景添加到bool HelloWorld::init()中,

//4.在最开始的位置上添加#include "ImageScene.h"

//5.别忘了将自己创建的方法添加到xcode的编译环境中,不然运行时异常

//6.点击项目,点击Build Phases,找到Compile Sources,将自建的cpp添加进去

bool HelloWorld::init()

{

//////////////////////////////

// 1. super init first

if ( !Layer::init() )

{

return false;

}

/**

* 以下代码实现的是切换场景的目的,

* 点击文本框中的字体时,切换场景,有图片

*/

//获得可见区域的大小

Size visibleSize = Director::getInstance()->getVisibleSize();

//添加文本框,文本内容,字体种类,字体的大小

LabelTTF *label = LabelTTF::create("show next scene", "Courier", 36);

addChild(label);//将文本添加到层中

//将文本放在中间

label->setPosition(visibleSize.width/2, visibleSize.height/2);

//为label设置事件监听器

// 1.创建监听器

EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();

// 2.让listener->onTouchBegan 指向一个要执行的闭包函数

//[捕获label变量]

listener->onTouchBegan = [label](Touch *t, Event *e){

//判断,label->边界.包括(触摸点),说明点击的是label,则执行一个新的Scene

if (label->getBoundingBox().containsPoint(t->getLocation())) {

//运行新创建的场景

Director::getInstance()->replaceScene(ImageScene::createScene());

}

return false;

};

// 3.添加事件监听器

//参数(监听器,节点即要监听的节点)

Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, label);

return true;

}

ImageScene.h

//

//  ImageScene.h

//  L01StartScene

//

//  Created by Mac OS 10.9.3 on 15-3-26.

//

//

#ifndef __L01StartScene__ImageScene__

#define __L01StartScene__ImageScene__

#include <iostream>

#include <cocos2d.h>//引入cocos2d的头文件

USING_NS_CC;        //使用cocos2d的命名空间

//创建一个ImageScene的类,继承与Layer

class ImageScene : public Layer {

public:

virtual bool init();//创建ImageScene的初始化方法

static Scene* createScene();//创建一个scene的方法

CREATE_FUNC(ImageScene);//创建ImageScene的create()方法

};

#endif /* defined(__L01StartScene__ImageScene__) */

ImageScene.cpp

//

//  ImageScene.cpp

//  L01StartScene

//

//  Created by Mac OS 10.9.3 on 15-3-26.

//

//

#include "ImageScene.h"

//实现.h中的创建场景的方法

Scene* ImageScene::createScene(){

Scene* scene = Scene::create();//创建一个场景

ImageScene* layer = ImageScene::create();//创建一个层

scene->addChild(layer);//将创建的层添加进场景中

return scene;

}

//实现初始化方法

bool ImageScene::init(){

//获得可见区域的大小

Size size = Director::getInstance()->getVisibleSize();

Sprite* sprite = Sprite::create("HelloWorld.png");//创建一个图片

//将图片放在居中的位置

sprite->setPosition(Point(size.width / 2, size.height / 2));

addChild(sprite);//添加进去

return true;//如果返回的是false则认为类创建不成功,这不是我们所要的

}

时间: 2024-11-05 22:28:27

场景的切换的相关文章

用jQuery.touchSwipe插件实现手机端场景滑动切换效果

使用jQuery的touchSwipe插件监听触摸滑动事件,结合css3实现手机端场景滑动切换效果.最好在手机端测试代码,也可以在PC端用鼠标点击模拟滑动. 1.html代码: <div class="container"> <div class="page page0 page_current"> <h1>你好,我是0号屏幕,第一屏,鼠标单击向下/向上拖动</h1> </div> <div clas

3.cocos2dx之Menu,通过menu来实现场景的切换

 1 头文件 TMenu.h #ifndef __TMENU_H__ #define __TMENU_H__ #include "cocos2d.h" USING_NS_CC; class TMenu :public CCLayer { public: static CCScene * scene(); CREATE_FUNC(TMenu); bool init(); CCMenu * menu; void menuCallback(CCObject * sender); void

cocos2d-x场景效果切换

Cocos2d-x提供了很多场景间切换的效果 1.使用方法: ccTime t = 1.2;    CCScene * pScene = CCScene::node();    CCLayer *pLayer = new book_page1();    pLayer->autorelease();    pScene->addChild(pLayer);    CCTransitionFade* transitionScene = CCTransitionFade::transitionWi

cocos2dx 场景的切换

我们知道cocos2dx中可以由多个场景组成,那么我是如何来切换场景的呢 首先我们先新建一个新的场景类,我推荐的方式是,在你工程的目录中找到一个classes的文件夹,里面有AppDelegate.cpp和AppDelegate.h还有HelloWorldScene.cpp和HelloWorldScene.h,我们需要做的就是把HelloWorldScene.cpp和HelloWorldScene.h复制在当前文件夹下,然后把HelloWorldScene中一些东西修改 例如我要新建一个Game

09.spritekit征程——场景的切换

09.spritekit征程--场景的切换 上文讲到咱们的小精灵(sprite)在场景中"舞动",枯燥的学习似乎有了那么点意思.我相信各位看官都是想自己开发一款独有的游戏,自然就少不了绚丽的效果以及开场.因此今天咱们来对场景之间的切换进行入门. Sprite Kit对场景之间的切换简单到爆.在下面的例子当中,我们将创建第二个场景来学习其他游戏特性.前面的动画效果最终会导致"Hello World"文本从屏幕淡出,但这仅仅只发生在当然场景中.今天我们的任务是当文本消失

iOS Sprite Kit教程之场景的切换

iOS Sprite Kit教程之场景的切换 Sprite Kit中切换场景 每一个场景都不是单独存在的.玩家可以从一个场景中切换到另外一个场景中.本小节,我们来讲解场景切换.在每一个游戏中都会使用到场景与场景的切换功能,例如,在街机原始人游戏中,选择关卡这一场景中,可以看到有4关,这四关分别代表了4个场景,如图2.20所示. 图2.20  街机原始的关卡选择 当玩家选择第一关时,就会由选择关卡的场景跳转到第一关的场景中,如图2.21所示. 图2.21  第一关的场景 当玩家选择第二关时,就会由

【Cocos2dx】新建场景、场景的切换、设置启动场景与菜单的新建

这是Cocos2dx最简单的部分.主要是体现对场景的操作,其实这东西就是Flash的舞台,安卓的Activity,WIN32窗体程序的Framework窗体,网页的body,反正就是对那个容纳各种东西的大容器进行操作,爱怎么叫就怎么叫. 用一个例子说明这个问题,将会做出如下的效果,在官方提供的Helloworld加一个场景Scene1,Scene1里面就摆一个可以切回Helloworld的按钮,同时设置这个Scene1为启动程序(游戏)的初始场景.同时对原本Helloworld场景的关闭按钮进行

Cocos2d-js切换场景与切换特效

var HelloWorldLayer = cc.Layer.extend({ sprite:null, ctor:function () { ////////////////////////////// // 1. super init first this._super(); var size=cc.winSize; //旧场景 var background=new cc.Sprite(res.CloseNormal_png); background.setPosition(size.wid

cocos 中熟练运用场景的切换

在实际游戏运用中,一个场景是远远不够的,我们必须要掌握多个场景之间的切换. 场景切换时通过Director导演类来实现的,在cocos中定义了如下几种场景切换函数: 1,void runWithScene(Scene *scene).这是一个运行场景的函数,该函数的使用情况是当前没有场景正在运行,因为一次只能运行一个场景. 2,void replaceScene(Scene *scene).   这是第一种用来切换到另一个场景的函数,用一个新的场景来代替当前场景,当前场景则会被终端释放. 3,v