使用SpriteBuilder製做Cocos2D遊戲徹底中文教程(八)

使用SpriteBuilder建立精靈動畫(Create sprite animations with SpriteBuilder)

在前面的章節中你已經學習瞭如何使用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.ccbGameplay.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"];
}

每一個時間軸能夠經過它的名稱來啓動引用。如今,構建並再次運行該項目:

這樣咱們的遊戲看起來就更生動了吧~好的,精靈的動畫就這樣製做完成了!

原文:

https://www.makegameswith.us/tutorials/getting-started-with-spritebuilder/sprite-animation-spritebuilder/

在下一節也是咱們的最後一節中,咱們將講一些關於細節上的優化,由此來結束咱們的教程!轉載請說明出處,wealpan將和您一塊兒學習Spritebuilder!謝謝你們!

相關文章
相關標籤/搜索