Cocos2d-x遊戲引擎

1.場景

      場景類在Cocos2d-x中用CCScene表示,單獨的一個場景實際上只是一個空殼,裏面什麼東西都沒有,我們需要向裏面加入層,精靈,菜單等元素。我們都玩過一些手機或電腦遊戲,在進入遊戲之前,都會有一個開始界面,裏面有開始遊戲,讀取存檔,遊戲設置等選項,每當你選擇了一個選項,都會跳轉到相應的界面,比如點擊了開始遊戲就會跳轉到遊戲的界面,那麼開始的界面實際上就是一個場景,遊戲界面是另外一個場景,而開始遊戲以及遊戲設置這些按鈕不過是添加到場景中的一些元素。我們可以腦殘的認爲,遊戲裏面每一次的畫面跳轉就是一個場景,當然實際中也並不完全是這樣。

     2.導演

     一個遊戲中會包含很多個場景,那麼如何有效的管理這些場景確實是一個麻煩,Cocos2d-x中提供了一個CCDirector類來負責管理他們,CCDirector也被稱爲導演類,有加載場景,切換場景等功能。

    2.1 加載場景 

    剛進入遊戲的時候,必須有一個初始的場景,加載初始場景的方式代碼清單如下所示:

    CCDirector::sharedDirector()->runWithScene(pScene);

    runWithScene只在加載第一個場景的時候使用

    2.2 切換場景

    如果我們想要做一個遊戲,點擊開始遊戲之後切換到遊戲的場景,就需要使用如下方法代碼:

    CCDirector::sharedDirector()->replaceScene(pScene);

    2.3 場景切換的特效

    CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInT::create(2.0f,theOtherScene::scene()));

    CCTransitionSlideInT是Cocos2d-x提供的一個場景類,這個場景類又包含了子場景,通過CCTransitionSlideInT的create函數就可以創建具備該動畫的場景。create函數共有兩個參數 (float t ,CCScene* scene),其中2.0f是動畫播放的時間,theOtherScene::scene()是將要顯示的場景類。

    Cocos2d-x的場景切換特效有很多種,這些特效是通過派生自CCScene的CCTransitionScene系列場景特效類實現的,大家可以自行嘗試或查看官方Demo的SceneTest部分

    2.4場景的推進和彈出

    我們之前所做的場景切換用到的是replaceScene函數,該函數在進行場景切換時,會使舊的場景釋放掉,即釋放該場景所佔用的內存空間,當你再次訪問到該場景時場景會重新加載。但是有些時候我們切換場景的時候並不希望它被釋放掉,而是保留現場,以便於一會我們再切換回來,此時我們可以用到另外兩種場景切換方式:推進和彈出。

    推進場景的代碼如下所示:
    CCDirector::sharedDirector->pushScene(theOtherScene::scene());

  推薦一款遊戲,還不錯

http://www.wotui123.com/wb008.htm?from=168264&gid=3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章