[英]how to implement two different animations on same sprite in cocos2d
我對在cocos2d中使用動畫感到困惑...我有一個精靈,它具有3種類型的動畫,例如笑,笑,哭和眨眼的笑臉...而且每個動畫都有單獨的精靈表。我將如何在同一個精靈上使用這些動畫?有人可以幫助我嗎?
問候,
蘇拉傑
將所有動畫放在同一塊Sprite工作表上會容易得多,因為,如果您的Sprite正在使用CCBatchnode來執行其draw方法,則可以將其作為子項從一張紙上刪除,然后將其讀取到另一張紙上。
在CCSprite子類中,將一些CCAction設置為實例變量。
在初始化方法中,編寫這些動作並將其存儲到實例變量中。
然后,當您要使用動畫時,告訴精靈運行它。
例如
NSMutableArray *smileFrames = [NSMutableArray array];
[smileFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"character_smile.png"]];
[smileFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"character_smile2.png"]];
[smileFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"character_smile3.png"]];
CCAnimation *smileAnim = [CCAnimation
animationWithFrames:smileFrames delay:0.2f];
self.smileAction = [CCSequence actions:
[CCAnimate actionWithAnimation:smileAnim restoreOriginalFrame:NO],
[CCCallFunc actionWithTarget:self selector:@selector(smileFinished)],
nil];
然后,您只需使用..
[sprite runAction:smileAction];
我已在動畫的末尾添加了CCCallFunc,因為您可能希望在完成后恢復為空閑動畫。
取消釋放精靈后,不要忘記釋放任何保留的動作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.