a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

Cocos2d-x UI開發之場景切換代碼實例

2020-01-26 15:19:55
字體:
來源:轉載
供稿:網友

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

這次代碼一共建立了倆個場景,一個是原來的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;}//該函數實現場景的切換void HelloWorld::menuCloseCallback(CCObject* pSender){	//使用以下的場景切換類可以產生特殊的效果,這些類有很多,一般有倆個或者是三個參數,第一個參數是	//時間,第二個參數是要切換到的場景,第三個參數根據類的不同各不相同,這個淡入淡出的效果第三個參數是顏色	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類需要先設置攝像機	CCDirector::sharedDirector()->setDepthTest(true);	//第三個參數為false表示向前翻頁,為true表示向后翻頁	CCTransitionPageTurn * pageTurn = CCTransitionPageTurn::create(2.0,HelloWorld::scene(),false);	CCDirector::sharedDirector()->replaceScene(pageTurn);	//采用如下的方法就沒有特效了	//CCDirector::sharedDirector()->popScene();}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 美女一级毛片 | 黄页网站在线免费观看 | 久久精选视频 | 亚洲免费网站 | 欧洲精品一区 | 91精品国产综合久久久久久 | 国产成在线观看免费视频 | 久久久久18| 91一区二区 | 99国产精品99久久久久久 | 在线观看中文 | 欧美一区二区三区国产精品 | 夜夜爽99久久国产综合精品女不卡 | 亚洲情视频 | 午夜精品久久久久久久久久久久 | 国产最新网址 | 人人爽人人爱 | 成人在线观看亚洲 | 亚洲黄色免费观看 | 超碰av在线 | 一色视频| 黄色网址免费在线观看 | 视频一区二区国产 | 国产一区二区三区久久 | 欧美精品在线观看一区二区 | 久草免费在线色站 | 羞羞网站在线观看入口免费 | 中文字幕在线资源 | 亚洲视频在线观看免费 | 亚洲 欧美 日韩 在线 | 色综合久久伊人 | 羞羞视频网站 | 国产精品成人3p一区二区三区 | 久久在线视频 | 福利亚洲 | 国产极品一区 | 丁香午夜 | 中文久久 | 久久久久久国产精品 | 黄在线看 | 老牛嫩草一区二区三区眼镜 |