cocos2d-x 3.6版loading載入資源,cocos2d-xloading
接著講資源載入。
前面一節講了怎麼用一個圖片建立一個背景。其實就是建立一個精靈。在cocos2d-x裡面,背景,人物,道具,看到的許多個物件其實都是一個精靈。
資源載入的時候通常會做一個loading的介面,告訴使用者,現在在載入資源。當然有很多同學寫教程,唯寫如何?loading介面,怎麼載入資源並沒有寫,這是不全面的。
我先講如何完成一個loading介面。
把loading的圖片放進工程,在Resources.h裡面增加索引。
然後修改StartGame的init函數如下:
bool StartGame::init(){ // 先調父類的init函數 // 這裡可以知道,init()函數是一個繼承下來的函數,而且是一個虛函數,子類可以重寫這個函數 if ( !Layer::init() ) { return false; } // 擷取螢幕可視地區 Size visibleSize = Director::getInstance()->getVisibleSize(); // 建立一個loading的表徵圖 auto loading = Sprite::create(s_loading_logo); // 設定位置為中心位置 loading->setPosition(visibleSize.width / 2, visibleSize.height / 2); // 添加到當前層 addChild(loading); // 設定初始透明圖 loading->setOpacity(50); // 一個由暗到明的動畫 auto fadeIn = FadeIn::create(3); // 建立一個一直重複的動畫 loading->runAction(RepeatForever::create(Sequence::create(fadeIn, fadeIn->reverse() ,NULL))); return true;}
看到,先建立一個loading的精靈,這個和建立背景是一樣的。然後給它一個動畫,這個動畫由好幾個動作組成。
首先是一個由暗到明的動畫,注意,要實現這個動畫,必須先設定一個透明度,不然沒有變化,因為loading精靈預設出來就是亮的。
然後翻轉這個動畫,然後用這兩個動畫建立一個序列動畫,就是先變亮再變暗。然後用這個序列動畫建立一個重複播放的動畫RepeatForever。
好了,就是這樣。
loading介面實現了,下一節講如何loading的時候後台載入資源。