嗨我正在爲iphone做遊戲,當精靈移動時,我希望它在3張圖像之間改變圖像,使它看起來像是在運行。 我現在使用的是cocos2d,對於cocos2d我很新。我知道如何用可可做到這一點,但這不適用於cocos2d。cocos2d動畫精靈
所以我的問題是如何更改3,圖像之間的精靈圖像,並且我想要在手指放在屏幕上的某個位置時循環它?
在此先感謝。
嗨我正在爲iphone做遊戲,當精靈移動時,我希望它在3張圖像之間改變圖像,使它看起來像是在運行。 我現在使用的是cocos2d,對於cocos2d我很新。我知道如何用可可做到這一點,但這不適用於cocos2d。cocos2d動畫精靈
所以我的問題是如何更改3,圖像之間的精靈圖像,並且我想要在手指放在屏幕上的某個位置時循環它?
在此先感謝。
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"animations/grossini.plist"];
CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"grossini_dance_01.png"];
sprite.position = ccp(100, 100);
CCSpriteSheet *spritesheet = [CCSpriteSheet spriteSheetWithFile:@"animations/grossini.png"];
[spritesheet addChild:sprite];
[self addChild:spritesheet];
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i < 15; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"grossini_dance_%02d.png",i]];
[animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"dance" frames:animFrames];
// 14 frames * 0.2sec = 2,8 seconds
[sprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithDuration:2.8f animation:animation restoreOriginalFrame:NO] ]];
這是一個非常適合cocos2d新手的問題。
我會先處理無限動畫。得到這個工作,然後繼續工作,暫停,恢復和翻轉動畫。
您可以使用與添加精靈相同的方法設置動畫。
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i <= 3; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Sprite-%d.png",i]];
[animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"run" delay:0.1f frames:animFrames];
[mySprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]];
如果你不熟悉的精靈張,還有大量的免費資源,創建一個精靈表和plist中(TexturePacker有一個很好的接口)
如果你有麻煩這項工作,雷Wenderlich有很好的教程。如果到了這一步這裏有一些指針暫停,恢復,和翻轉動畫
對於暫停或恢復
[mySprite pauseSchedulerAndActions];
[mySprite resumeSchedulerAndActions];
翻轉動畫每當觸摸方向切換水平方向
mySprite.flipX = YES;
mySprite.flipX = NO;
嘿,很酷的解決方案:)它的工作原理除了在init中運行和暫停動作沒有暫停我的精靈的行動 - 開始在觸摸方法暫停和恢復似乎正在工作...任何想法? – raistlin 2013-07-07 16:33:21
或者按照這個URl http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d – Anand 2012-03-28 13:33:40