2014-09-05 22 views
2

我需要指導如何動畫小2d的東西,例如,一個簡單的閃爍的角色。 SpriteKitcocos2d「太多」來執行這種事情?我並不打算製作遊戲,我只是想將標準iOS控件與執行簡單動畫的圖片混合在一起,但也許我需要在不久的將來製作更精細的動畫(例如,運行中的角色) 。我應該使用Core Animation這個框架嗎?或者,也許另一個更好的選擇?我應該使用Core Animation還是SpriteKit/Cocos2D進行簡單的閃爍2D動畫?

我會支持提前

+1

使用附近的東西。閃爍幾乎不是動畫,您只需在開啓和關閉之間循環「隱藏」或「可見」屬性。即使基於圖像的動畫也可以輕鬆實現您提到的任何技術。 – LearnCocos2D 2014-09-05 08:09:25

+3

提示未來:標題中避免使用「最佳方式」,因爲它會讓懶得閱讀問題的人收到很讚的投票。 – amphetamachine 2014-09-05 14:42:46

+0

同意amphetamachine(在他的意見和他的親計劃麻醉劑爲主題的名稱;-)) - 我在回顧「投票結束」問題時發現您的帖子。你們邀請了幾個「基於意見」的密切投票。我投票保持開放。將修改。 – 2014-09-05 14:52:04

回答

-1

可以使用類的NSTimer調用一個函數,每個X的時間iOS 7.0以上版本

感謝。例如,如果你想要的東西閃爍,你可以做這樣的事情:

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target: self 
            selector: @selector(blink) userInfo: nil repeats: YES]; 

-(void) blink { //supose that myObject is an UIView in this example 
    if(myObject.hidden){ 
    myObject.hidden=NO; 

    } 
    else { 
    myObject.hidden=YES; 
    } 
} 

可以使用位置移動,阿爾法或透明度淡出做同樣的,淡入......與性能發揮對象有。

+4

運行一堆定時器來隱藏/顯示UI元素是無法通過生活,兒子。 ;-)他們堅持要聽到,系統是否「太忙」來處理每一個問題。單。幀。或者不使用,而使用系統的動畫庫優化了這一點(它會根據需要丟棄幀以保持UI響應,如果它太忙等等)。 – 2014-09-05 14:54:21

2

核心動畫在這裏最好,因爲你特別想讓用戶界面元素閃爍(而不是用電路板和精靈構建遊戲)。使用Core Animation設置重複動畫以更改其Alpha值。

使用時間(如Ease-In-Ease-Out)甚至可以添加「Mac睡眠燈」呼吸效果。使用這個與iZabala(公認的功能)方法相比,意味着您讓系統決定是否可以在給定時刻運行此動畫的每一幀。如果它太忙而無法生成動畫效果保持UI響應,Core Animation將根據需要放棄幀。

你也可以對動畫進行分組(如果你有一個「閃爍指示器的按鈕庫」,你可以在同一個動畫組中使用相同的時間全部運行它們,這樣它們就不會與對方不同步看起來像閃閃發光的聖誕樹)。