Monday, August 8, 2011

cocos2d actions with animation


[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"stoneTexture.plist"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"BaloonTexture.plist"];
//[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"ShipTexture.plist"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"Ships_Cannon_Bomb.plist"];

NSMutableArray *explodeFrames = [NSMutableArray array];
[explodeFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"stone2.png"]];
[explodeFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"stone3.png"]];
[explodeFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"stone4.png"]];
[explodeFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"stone5.png"]];

CCAnimation *explodeAnim = [CCAnimation animationWithFrames:explodeFrames delay:FRAMESPEED];






NSMutableArray *BaloonexplodeFrames = [NSMutableArray array];

for (int i=1; i<=16; i++)
{
[BaloonexplodeFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Fire%04d.png",i]]];

}

CCAnimation *Baloonexplode = [CCAnimation animationWithFrames:BaloonexplodeFrames delay:FRAMESPEED];

m_BaloonBombaction = [[CCSequence actions:
[CCAnimate actionWithAnimation:Baloonexplode restoreOriginalFrame:NO],
[CCCallFunc actionWithTarget:self selector:@selector(baloonExploisionOver)],
nil] retain];


NSMutableArray *ShipCannonbombArray =[NSMutableArray array];
[ShipCannonbombArray addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Ships_Cannon_Bomb__Blast_1.png"]]];
[ShipCannonbombArray addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Ships_Cannon_Bomb__Blast_2.png"]]];
[ShipCannonbombArray addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Ships_Cannon_Bomb__Blast_3.png"]]];
[ShipCannonbombArray addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Ships_Cannon_Bomb_Blast_4.png"]]];

CCAnimation *ShipCannonbombAnimation=[CCAnimation animationWithFrames:ShipCannonbombArray delay:FRAMESPEED];


m_SpriteStone = [CCSprite spriteWithSpriteFrameName:fileName];
[self addChild:m_SpriteStone];


m_ActionExplode = [[CCSequence actions:
[CCAnimate actionWithAnimation:explodeAnim restoreOriginalFrame:NO],
[CCCallFunc actionWithTarget:self selector:@selector(explosionOver)],
nil] retain];

m_ShipCannonbombAction =[[CCSequence actions:
[CCAnimate actionWithAnimation:ShipCannonbombAnimation restoreOriginalFrame:NO],
[CCCallFunc actionWithTarget:self selector:@selector(ShipBombexplodeOver)],
nil] retain];
m_ActionRotate = [[CCRepeatForever actionWithAction:[CCRotateBy actionWithDuration:1.0 angle:angle * 360.0f] ] retain];

self.contentSize = m_SpriteStone.contentSize;
self.contentSizeInPixels = m_SpriteStone.contentSizeInPixels;

cocos2d actions



m_SpriteBody = [[CCSprite alloc] initWithFile:@"catapultBody.png"];
[self addChild: m_SpriteBody];

m_SpriteSpoon = [[CCSprite alloc] initWithFile:@"catapultSpoon.png"];
m_SpriteSpoon.position = ccp(CATAPULTSPOONX, CATAPULTSPOONY);
m_SpriteSpoon.anchorPoint = ccp(0.76, 0.357);
m_SpriteSpoon.rotation = 80;
[m_SpriteBody addChild: m_SpriteSpoon z:-1];

m_SpriteDummyStone = [[CCSprite alloc] initWithFile:@"stone.png"];
m_SpriteDummyStone.position = ccp(-32, 2);
m_SpriteDummyStone.visible = NO;
[self addChild: m_SpriteDummyStone];

m_ActionThrow = [[CCRepeatForever actionWithAction:[CCSequence actions:
[CCEaseIn actionWithAction: [CCRotateBy actionWithDuration:0.5 angle:-90] rate:0.5],
[CCCallFunc actionWithTarget:self selector:@selector(showDummyStone)],
[CCDelayTime actionWithDuration:STONELOADTIME],
[CCEaseOut actionWithAction: [CCRotateBy actionWithDuration:0.1 angle:90] rate: 0.5],
[CCCallFunc actionWithTarget:self selector:@selector(throwStone)],
[CCCallFunc actionWithTarget:self selector:@selector(hideDummyStone)],
[CCRotateBy actionWithDuration:0.1 angle: -20],
[CCRotateBy actionWithDuration:0.1 angle: 20],
[CCRotateBy actionWithDuration:0.05 angle: -10],
[CCRotateBy actionWithDuration:0.05 angle: 10],
[CCRotateBy actionWithDuration:0.02 angle: -5],
[CCRotateBy actionWithDuration:0.02 angle: 5],
[CCDelayTime actionWithDuration:FIREDELAY],
nil]] retain];

m_ActionMoveDummy = [[CCSequence actions:
[CCFadeIn actionWithDuration:STONELOADTIME],
[CCMoveTo actionWithDuration:0.1 position: ccp(-5, 38)],
nil] retain];

m_ArrayStones = [[NSMutableArray alloc] initWithCapacity: STONECOUNT + 1];
for(int i = 0; i < STONECOUNT; i++)
{
Stone *n = [[Stone alloc] initWithStoneFileName:@"stone.png" andAngularVelocity:1.0f andDamage:5];
[m_ArrayStones addObject:n];
}


NSString *path = [[NSBundle mainBundle] pathForResource:@"bomb" ofType:@"wav"];
NSURL *filePath = [NSURL fileURLWithPath: path isDirectory:NO];
AudioServicesCreateSystemSoundID((CFURLRef)filePath, &m_SoundBomb);

Followers