純粹娛樂:瞭解cocos2d-x

  • 設置資源查找路徑

默認是Resources下面查找

std::vector<std::string> searchPath;
searchPath.push_back("sd");
//searchPath.push_back("/");
FileUtils::getInstance()->setSearchPaths(searchPath);

如果這樣設置那麼查找的目錄是變成: Resources/sd/

  • 音樂聲音

預加載:

SimpleAudioEngine::getInstance()->preloadBackgroundMusic("**.mp3"); 
SimpleAudioEngine::getInstance()->preloadEffect("**.wav"); 

播放聲音:

SimpleAudioEngine::getInstance()->playBackgroundMusic("**.wav");  
SimpleAudioEngine::getInstance()->playBackgroundMusic("**.wav", true);  
SimpleAudioEngine::getInstance()->playEffect("**.mp3",false); 
  • 菜單

創建菜單按鈕

auto backItem = MenuItemImage::create(
                                           "**.png",//默認圖片
                                           "**.png",//選中圖片
                                           CC_CALLBACK_1(**::menuBackCallback//按鈕點擊事件觸發回調
                                           , this));

開關菜單按鈕

MenuItemImage *_trnOn,*_trnOff;
    _trnOn = MenuItemImage::create(  
        "btn_**On.png",  
        "btn_**On.png");  
    _trnOff = MenuItemImage::create(  
        "btn_**Off.png",  
        "btn_**Off.png");
MenuItemToggle *toggleItem = MenuItemToggle::createWithCallback(
                            CC_CALLBACK_1(**::toggleMenuCallback, this)
                            ,_turnOn,_turnOff, NULL);
toggleItem->setSelectedIndex(1);//設置初始值       

創建菜單

auto menu = Menu::create(backItem,toggleItem,**Item, NULL);

加進場景(之前設置顯示位置等)//比如backItem->setPosition(Vec2(* * , * *));

this -> addChild( menu );//*->removeFromParent();移除
  • 本地存儲

獲取值:

UserDefault::getInstance()->getBoolForKey("**")

存儲值:

UserDefault::getInstance()->setBoolForKey("**", false); 
  • 場景轉跳
auto scene = MainScene::createScene();
TransitionScene* reScene = TransitionPageTurn::create(1.0f, scene, true);
Director::getInstance()->replaceScene(reScene);
  • 顯示圖片
auto sprite = Sprite::create("scene_end.png");
sprite->setPosition(Point(GAME_SCREEN_WIDTH/2,GAME_SCREEN_HEIGHT/2));
this->addChild(sprite);
  • 顯示文字
TTFConfig config("yuehei.otf",48);
auto labelScore = Label::createWithTTF(config, "  0  ");
labelScore -> setPosition(Point( GAME_SCREEN_WIDTH/2 , GAME_SCREEN_HEIGHT/1.4));
this->addChild(labelScore);
  • 交互

添加監聽

auto touchListener = EventListenerTouchOneByOne::create();
touchListener->onTouchBegan = CC_CALLBACK_2(GameScene::onTouchBegan, this);
touchListener->onTouchMoved = CC_CALLBACK_2(GameScene::onTouchMoved, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);

獲取點擊點

auto location = touch->getLocation();

判斷點擊點是否在某區域
(可以根據點擊點 獲取sprite 也可以根據結束點幾點判斷左滑右滑 )

auto  upRect = Rect(*,*,*,*);
if (upRect.containsPoint(location)) {
}
  • 簡單動畫
staSprite->runAction(MoveTo::create(time, posOfDest));//移動位置

staSprite->runAction(Sequence::create(
                                      MoveTo::create(time, posOfDest),
                                      MoveTo::create(time, posOfSrc),
                                      NULL));//先後連續移動兩次位置
  • 節點位置
    position 節點位置
    anchorpoint 錨點,默認節點中心,position的位置的參考點,scale縮放的參考點,rotation旋轉的參考點
發佈了67 篇原創文章 · 獲贊 12 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章