在前面的章節中你已經學習瞭如何使用SpriteBuilder的時間軸功能建立動畫了。接下來,你將學習如何爲一個精靈(Sprite)文件添加動畫。咱們將給正在等待成爲子彈的企鵝建立動畫效果。node
在右邊傳送門下載咱們準備的資源包:資源包傳送門。框架
將其解壓縮並拖動動畫文件夾到您SpriteBuilder項目中。經過右鍵— Make Smart Sprite Sheet將資源設置爲智能精靈表。點擊發布按鈕,這樣SpriteBuilder會爲您的精靈表生成紋理。dom
建立一個新的接口文件學習
接下來,在SpriteBuilder中建立一個新的接口文件。稱之爲WaitingPenguin.ccb並選擇Sprite做爲根節點。一旦建立了文件,打開它,而後選擇第一個動畫幀做爲新的精靈(默認框架animation/1.png):優化
SpriteBuilder提供創建基於幀動畫的簡單方法:動畫
選擇您想要進行動畫應用的精靈ui
從資源窗格(左)選擇全部相關的圖像spa
所選圖像右擊並選擇「Create Keyframes from Selection」.net
根據幀的數量,你將不得不等待幾秒鐘。而後SpriteBuilder將全部圖像添加到您的時間表。下面是一個簡單的演練:code
如今你有一個帶動畫的企鵝了!接下來,讓咱們來減小時間軸的長度。設置動畫是約4秒。您還須要連接時間軸自己,從而使企鵝閃爍,跳躍在一個無限循環:
如今在加入等待企鵝到以前發佈SpriteBuilder項目的遊戲場景。
拖動WaitingPenguin.ccb到Gameplay.ccb添加三個等待企鵝。確保等待企鵝是內容節點的子節點(不然他們不會與滾動出場景):
如今,發佈和運行遊戲。你應該看到三個企鵝閃爍和跳躍旁邊的投石車:
動畫看起來還不錯-但奇怪的是全部企鵝的動畫在徹底相同的時刻執行。這是由於咱們的時間軸已經啓動了自動播放,這意味着動畫只要物體進入畫面就會開始播放。咱們要改變這種情況,經過觸發代碼中動畫的開始操做,而不是使用時間軸的自動播放的設置。
將默認的時間軸重命名爲BlinkAndJump並關閉自動播放:
還要設置自定義類爲WaitingPenguin,這樣咱們就能夠經過添加代碼來手動啓動動畫:
如今,發佈您的項目並打開Xcode!
建立一個CCSprite類的子類並命名爲WaitingPenguin。
如今,咱們要實現didLoadCCB方法,其中將要產生一個隨機數,將決定咱們要多長時間後啓動動畫:
- (void)didLoadFromCCB { // generate a random number between 0.0 and 2.0 float delay = (arc4random() % 2000) / 1000.f; // call method to start animation after random delay [self performSelector:@selector(startBlinkAndJump) withObject:nil afterDelay:delay]; }
以後,咱們只須要實現這個方法來啓動動畫:
- (void)startBlinkAndJump { // the animation manager of each node is stored in the 'userObject' property CCBAnimationManager* animationManager = self.userObject; // timelines can be referenced and run by name [animationManager runAnimationsForSequenceNamed:@"BlinkAndJump"]; }
每一個時間軸能夠經過它的名稱來啓動引用。如今,構建並再次運行該項目:
這樣咱們的遊戲看起來就更生動了吧~好的,精靈的動畫就這樣製做完成了!
原文:
在下一節也是咱們的最後一節中,咱們將講一些關於細節上的優化,由此來結束咱們的教程!轉載請說明出處,wealpan將和您一塊兒學習Spritebuilder!謝謝你們!