基本結構圖(重要) Director: 有那些作用? OpenGL ES的初始化,場景的轉換,游戲暫停繼續的控制,世界坐標和GL坐標之間的切換,對節點(游戲元素)的控制,游戲數據的保存調用,屏幕尺寸的獲取 控制場景的常用方法 runWithScene( Scene *scene ) 啟動游戲,並運行 ...
基本結構圖(重要)
Director:
有那些作用?
OpenGL ES的初始化,場景的轉換,游戲暫停繼續的控制,世界坐標和GL坐標之間的切換,對節點(游戲元素)的控制,游戲數據的保存調用,屏幕尺寸的獲取
控制場景的常用方法
-
runWithScene( Scene *scene ) 啟動游戲,並運行scene場景。本方法在主程式第一次啟動主場景的時候調用。如果已有正在運行的場景則不能調用該方法;會調用pushScene-->startAnimation。
-
pushScene( Scene *scene ) 將當前運行中的場景暫停並壓入到代碼執行場景棧中,再將傳入的scene設置為當前運行場景,只有存在正在運行的場景時才調用該方法;
-
replaceScene( Scene *scene ) 直接使用傳入的scene替換當前場景來切換畫面,當前場景被釋放。這是切換場景時最常用的方法。
-
popScene() 釋放當前場景,再從代碼執行場景中彈出棧頂的場景,並將其設置為當前運行場景。如果棧為空,直接結束應用。和PushScene結對使用
-
end() 釋放和終止執行場景,同時退出應用
-
pause() 暫停當前運行場景中的所有計時器和動作,場景仍然會顯示在屏幕上
-
resume () 恢復當前運行場景的所有計時器和動作,場景仍然會顯示在屏幕上
Scence:
構建不同場景
Layer:
Layer是處理玩家事件響應的Node類。
層中主要放置什麼?
精靈,文本標簽或者其他游戲元素,並設置游戲元素的屬性,比如位置,方向和大小 設置游戲元素的動作,游戲相關的邏輯代碼
如何將層運用到場景中?
在場景中添加層,addchild方法
創建層-->設置大小-->位置-->添加到場景中
auto layer = LayerColor::create(Color4B(0, 128, 128, 255)); layer->setContentSize(CCSizeMake(120, 80)); layer->setPosition(Point(50, 50)); addChild(layer, 10);
Sprite:
可以移動,旋轉,縮放,執行動畫,並接受其他轉換
作用流程:
使用Texture2D載入圖片,可以用Texture2D生成對應的SpriteFrame(精靈幀),將SpriteFrame添加到Animation生成動畫數據,用Animation生成Animate(就是最終的動畫動作),最後用Sprite執行這個動作。
創建精靈的幾種方式:
//直接創建 Sprite::create("HelloWorld.png"); //紋理創建 Sprite::createWithTexture(TextureCache::getInstance()->addImage("HelloWorld.png")); //精靈幀創建 Sprite::createWithSpriteFrameName("HelloWorld.png");