我用了很多的CCEase*
功能在的Cocos2D描述here。 iOS 7 Sprite Kit也有SKActionTimingMode
。但只有簡單的模式。我如何能得到CCEaseElasticIn
或CCEaseBounceIn
使用效果如下Sprite Kit?如何將不同的緩動效果應用於精靈動作?
8
A
回答
33
精靈工具包左緩和(或補間)以期望的顯影劑將採取精靈的運動的具體的控制有意的限制。基本上,你需要做的是做一個自定義操作,並在改變精靈的屬性(旋轉,位置,比例等)之前對參數應用一個緩動曲線。這是一個例子。
CGFloat initialScale = mySprite.xScale;
SKAction *scaleAction = [SKAction customActionWithDuration:duration actionBlock:^(SKNode *node, CGFloat elapsedTime) {
CGFloat t = elapsedTime/duration;
CGFloat p = t*t;
CGFloat s = initialScale*(1-p) + scale * p;
[node setScale:s];
}];
[mySprite runAction:scaleAction];
決定寬鬆的部分是p = t*t
。所以,p
是一個功能t
這樣的:
- 時
t
爲0,p
是0 - 時
t
爲1,p
是1
這意味着你將在開始開始和結束時,但曲線的形狀將決定你如何到達那裏。緩和功能可以很簡單,就像這裏所示的一樣,它基本上是一種易入性,或者非常複雜,如彈性或反彈。要生成自己的,試試這個:http://www.timotheegroleau.com/Flash/experiments/easing_function_generator.htm 還是拿在羅伯特·彭納方程的更多詳細信息:http://www.robertpenner.com/easing/
2
任意寬鬆,Kardasis的回答了一切。
如果你正在尋找一個簡單的方法來添加彈跳效果將您的動畫,這是事情UIKit中做的方式是一致的,我有東西給你。
蘋果UIKit中推出春季動畫在幾年前,通過讓你執行一個UIView動畫時設置的彈簧阻尼和初始速度。不幸的是,它們並沒有在SpriteKit中實現,所以我創建了自己的庫來做到這一點。
這是一組複製大多數工廠方法上SKAction擴展,將所述阻尼和速度參數。
的代碼是在GitHub上,隨意使用它:https://github.com/ataugeron/SpriteKit-Spring
相關問題
- 1. 如何將精靈函數應用於精靈組中的所有精靈?
- 2. 動畫與精靈效應的UITableViewCell
- 3. 如何將力量應用於精靈?
- 4. 對精靈的CCWave動作
- 5. 精靈效應ipad
- 6. 如何在ActionScript中應用對精靈的效果3
- 7. 如何將不同的動作欄顏色應用於不同的活動?
- 8. iPhone cocos2d - 對許多精靈使用相同的動畫動作
- 9. 如何用flex4效果來模擬「精靈」效果?
- 10. 如何讓cocos2d精靈每秒鐘縮放(對於脈動效果)?
- 11. 如何動畫精靈?
- 12. Swift如何移動精靈?
- 13. 如何在不使用操作的情況下移動精靈?
- 14. 如何將衝動應用於精靈套件中的整個catagorybitmask
- 15. 如何使用不同的按鈕動畫不同的精靈? (HTML/CSS)
- 16. 精靈動畫
- 17. 滑動精靈
- 18. 動畫精靈
- 19. 精靈動畫
- 20. 拖動精靈
- 21. 如何在jquery中添加動畫效果的緩動效果?
- 22. 使用單精靈圖片製作動畫精靈
- 23. 如何避免混合不同的精靈動畫速度?
- 24. 如何將不同的實時效果應用於android相機?
- 25. 如何讓精靈坐在移動的精靈上
- 26. 如何同時在多個精靈上運行動作
- 27. 使精靈不可移動
- 28. 如何用cocos2d切換精靈動畫?
- 29. 如何用手指移動精靈?
- 30. 滑動效果靈敏度
我想蘋果希望我們使用customActionWith ......對於這樣的情況下。 – LearnCocos2D
你有任何線索如何使'customActionWith'發生? – Pablo
只在概念上,總體思路是使用elapsedTime以及持續時間,並將兩者都輸入到緩動動作中,以確定在任何給定的elapsedTime期間期望的屬性(即位置)應該改變多少。例如,您可以從cocos2d調整緩動功能。 – LearnCocos2D