Cocos2d x建立和轉換場景學習筆記

2021-07-04 03:19:56 字數 1049 閱讀 6117

什麼是場景?

場景是包含精靈(sprites),標籤(labels),節點(nodes)和其他遊戲所需物件的容器。場景負責遊戲邏輯的執行和遊戲內容的逐幀渲染。每個遊戲至少需要乙個場景,你可以將場景想象成一部電影,場景就是其中正在執行並且使用者可以實時看到的電影畫面。遊戲中可以擁有多個場景,並且可以在多個不同的場景之間自然的切換。cocos2d-x提供了多種場景切換效果,你甚至可以使用超酷的切換效果。

建立場景

建立場景很簡單:

auto myscene = scene::create();

cocos2d-x使用右手座標系系統,也就是螢幕和顯示位置的原點(0,0)在左下角,我們的遊戲元素給出的座標是相對於原點計算出來的相對座標。

多個場景的切換

在遊戲中肯定需要在不同的場景之間切換,比如開始乙個新遊戲、遊戲進入下一章以及退出遊戲的時候都需要用到,cocos2d-x提供了多種形式的切換方式。

ways to transition between scenes 幾種場景切換的方式

場景切換的方式有好多種,每種切換方式都有特有的功能,比如下面這個:

auto myscene = scene::create();

runwithscene -只能用於第乙個場景的執行,這也是啟動遊戲第乙個場景的方式。

director::getinstance()->runwithscene(myscene);

replacescene -直接替換乙個場景。

director::getinstance()->replacescene(myscene);

pushscene -暫停執行當前正在執行的場景,把它放入暫停場景的堆疊之中,使用該方法必須要求當前有正在執行的場景。

director::getinstance()->pushscene(myscene);

popscene - 用堆疊中的場景替換正在執行的場景,正在執行的場景會被移除,該方法也要求當前有正在執行的場景。

director::getinstance()->popscene(myscene);

場景切換特效

在場景切換時可以增加一些特效

cocos2dx切換場景

分享一下cocos2dx切換場景函式 場景a切換到場景b,有切換特效 呼叫順序如下 aaabababa a 建構函式 a onenter a onentertransitiondidfinish b 建構函式 a onexittransitiondidstart b onenter a onexit...

COCOS2DX座標轉換

遊戲中經常會用到一些變換 遊戲中 和角色在乙個layer上,為了效率,會考慮將bullet,effect和 physicsparticle分別放到不用的層上,對應的層上使用batchnode來提高效率 和physicsparticlelauncher 粒子發射器 繫結,發射的時候,會向physics...

cocos2d x座標轉換

cocos2d x中,node類有六個座標轉換函式,分別是 converttoworldspace 把基於當前節點的本地座標系下的座標轉換到世界座標系中。converttonodespace 把世界座標轉換到當前節點的本地座標系中。例如,在飛機大戰專案中,寵物是玩家的子節點,玩家是遊戲場景的子節點,...