最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cocos2d-x UI開發(fā)之場景切換代碼實(shí)例

 更新時(shí)間:2014年09月11日 10:02:28   作者:皂莢花  
這篇文章主要介紹了Cocos2d-x UI開發(fā)之場景切換代碼實(shí)例,cocos2d-x中的場景切換是通過導(dǎo)演類調(diào)用相應(yīng)的方法完成的,本文通過代碼和詳細(xì)注釋來說明,需要的朋友可以參考下

cocos2d-x中的場景切換是通過導(dǎo)演類調(diào)用相應(yīng)的方法完成的,可以通過CCDirector::sharedDirector()->replaceScene()方法切換場景,參數(shù)是要切換的新場景,這種方法會釋放掉舊的場景。通過pushScene()切換則是將舊的場景壓入到棧中,以便通過popScene()函數(shù)出棧,繼續(xù)運(yùn)行原場景。剛開始程序啟動的時(shí)候通過runWithScene()運(yùn)行一個新的場景。下面通過代碼來說明。單擊下圖可以查看效果。

這次代碼一共建立了倆個場景,一個是原來的helloworld場景,一個是SecondScene場景。具體的看代碼吧。

bool HelloWorld::init()
{
 bool bRet = false;
 do
 {
  CC_BREAK_IF(! CCLayer::init());

		CCLabelTTF * ttf = CCLabelTTF::create("next scene","Arial",32);
		//為該場景添加一個label菜單
		CCMenuItemLabel * labelMenu = CCMenuItemLabel::create(ttf,this,menu_selector(HelloWorld::menuCloseCallback));
		CCMenu * menu = CCMenu::create(labelMenu,NULL);
		this->addChild(menu);

  bRet = true;
 } while (0);

 return bRet;
}

//該函數(shù)實(shí)現(xiàn)場景的切換
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
	//使用以下的場景切換類可以產(chǎn)生特殊的效果,這些類有很多,一般有倆個或者是三個參數(shù),第一個參數(shù)是
	//時(shí)間,第二個參數(shù)是要切換到的場景,第三個參數(shù)根據(jù)類的不同各不相同,這個淡入淡出的效果第三個參數(shù)是顏色
	CCTransitionFade * fade = CCTransitionFade::create(2.0,SecondScene::scene(),ccc3(255,100,100));
	CCDirector::sharedDirector()->replaceScene(fade);
	//也可以采用如下的方法
	//CCDirector::sharedDirector()->pushScene(fade);
}

以下是SecondScene.cpp

#include "SecondScene.h"
#include "HelloWorldScene.h"

CCScene * SecondScene::scene()
{
	CCScene * scene = NULL;

	do
	{
		scene = CCScene::create();
		CC_BREAK_IF(!scene);

		SecondScene * layer = SecondScene::create();
		CC_BREAK_IF(!layer);

		scene->addChild(layer);
	}
	while(0);

	return scene;
}

bool SecondScene::init()
{
	bool bRet = false;

	do
	{
		CC_BREAK_IF(!CCLayer::init());

		CCLabelTTF * ttf = CCLabelTTF::create("first scene","Arial",32);
		CCMenuItemLabel * labelMenu = CCMenuItemLabel::create(ttf,this,menu_selector(SecondScene::changeScene));
		CCMenu * menu = CCMenu::create(labelMenu,NULL);
		this->addChild(menu);

		bRet = true;
	}
	while(0);

	return bRet;
}

void SecondScene::changeScene(CCObject * sender)
{
	//使用CCTransitionPageTurn類需要先設(shè)置攝像機(jī)
	CCDirector::sharedDirector()->setDepthTest(true);
	//第三個參數(shù)為false表示向前翻頁,為true表示向后翻頁
	CCTransitionPageTurn * pageTurn = CCTransitionPageTurn::create(2.0,HelloWorld::scene(),false);
	CCDirector::sharedDirector()->replaceScene(pageTurn);
	//采用如下的方法就沒有特效了
	//CCDirector::sharedDirector()->popScene();
}

相關(guān)文章

  • C++如何通過ostringstream實(shí)現(xiàn)任意類型轉(zhuǎn)string

    C++如何通過ostringstream實(shí)現(xiàn)任意類型轉(zhuǎn)string

    再使用整型轉(zhuǎn)string的時(shí)候感覺有點(diǎn)棘手,因?yàn)閕toa不是標(biāo)準(zhǔn)C里面的,而且即便是有itoa,其他類型轉(zhuǎn)string不是很方便。后來去網(wǎng)上找了一下,發(fā)現(xiàn)有一個好方法
    2013-09-09
  • C++返回值是類名和返回值是引用的區(qū)別及說明

    C++返回值是類名和返回值是引用的區(qū)別及說明

    這篇文章主要介紹了C++返回值是類名和返回值是引用的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言從基礎(chǔ)到進(jìn)階全面講解數(shù)組

    C語言從基礎(chǔ)到進(jìn)階全面講解數(shù)組

    數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計(jì)算機(jī)內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素
    2022-05-05
  • QT樹的具體項(xiàng)目實(shí)現(xiàn)

    QT樹的具體項(xiàng)目實(shí)現(xiàn)

    本文主要介紹了QT樹的具體項(xiàng)目實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 常用排序算法整理分享(快速排序算法、希爾排序)

    常用排序算法整理分享(快速排序算法、希爾排序)

    這篇文章主要介紹了一些常用排序算法整理,插入排序算法、直接插入排序、希爾排序、選擇排序、冒泡排序等排序,需要的朋友可以參考下
    2014-03-03
  • Qt QFile文件操作的具體使用

    Qt QFile文件操作的具體使用

    很多應(yīng)用程序都需要具備操作文件的能力,Qt 框架提供了 QFile 類專門用來操作文件。本文就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-11-11
  • C++中指針指向二維數(shù)組實(shí)例詳解

    C++中指針指向二維數(shù)組實(shí)例詳解

    這篇文章主要介紹了C++中指針指向二維數(shù)組實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 在Visual Studio Code中配置C++編譯環(huán)境的問題

    在Visual Studio Code中配置C++編譯環(huán)境的問題

    關(guān)于Visual Studio Code對C++環(huán)境的配置方法應(yīng)該有好多種,我這里用到了其中的兩種,具體內(nèi)容詳情文中給大家詳細(xì)介紹,對Visual Studio Code配置C++編譯環(huán)境相關(guān)知識感興趣的朋友一起看看吧
    2021-07-07
  • C++的new和delete詳解

    C++的new和delete詳解

    這篇文章主要介紹的是C++的new和delete,可以這么理解 new相當(dāng)于是malloc 、delete相當(dāng)于是free,下面我們就來詳情介紹,,需要的朋友可以參一考
    2021-09-09
  • C++實(shí)現(xiàn)LeetCode(67.二進(jìn)制數(shù)相加)

    C++實(shí)現(xiàn)LeetCode(67.二進(jìn)制數(shù)相加)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(67.二進(jìn)制數(shù)相加),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

马山县| 墨竹工卡县| 松原市| 库尔勒市| 耒阳市| 汤阴县| 赤水市| 萨嘎县| 桓台县| 西昌市| 攀枝花市| 获嘉县| 大英县| 巴南区| 金平| 江北区| 明水县| 罗山县| 丰镇市| 江油市| 深泽县| 万州区| 正定县| 开原市| 襄垣县| 涪陵区| 青铜峡市| 宜昌市| 吉隆县| 曲阳县| 盐池县| 河西区| 赤峰市| 项城市| 孟津县| 丰顺县| 运城市| 雷山县| 噶尔县| 梓潼县| 宣恩县|