菜鸟动画问题解决
COCOS2D对OpenGL进行得封装
今天一个菜鸟说:后面触发一个事件之后 又要播放一次
如果不删除之前的 会出现重叠的效果代码如下:
播放代码
-(void) TrafficShipAnimation{ [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"trafficshipwin.plist"]; CCSpriteBatchNode *spritebn = [CCSpriteBatchNode batchNodeWithFile:@"trafficshipwin.png"]; [self addChild:spritebn z:3]; NSMutableArray *ATFrames = [NSMutableArray array]; for (int i =1; i<=7; i++) { [ATFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"WJC3_fenlei2_yunshuchuan%d.png", i]]]; } CCAnimation *ATAnimate = [CCAnimation animationWithFrames:ATFrames delay:0.2]; sprite_traffic= [CCSprite spriteWithSpriteFrameName:@"WJC3_fenlei2_yunshuchuan1.png"]; sprite_traffic.position = ccp(43+186/2,768-190-248/2); [spritebn addChild:sprite_traffic z:3]; seq_traffic= [CCSequence actions:[CCAnimate actionWithAnimation:ATAnimate restoreOriginalFrame:NO],nil]; [sprite_traffic runAction:seq_traffic];}
void runAnimation(){#define kCCMove_Time 3#define kCCMove_End ccp(200,200)#define kCCMove_Begin ccp(0,0) CCMoveTo *mv = CCMoveTo::create(kCCMove_Time,kCCMove_End); sprite -> stopAllActions(); sprite -> setPosition(kCCMove_Begin); sprite -> runAction(mv);}//我没用帧动画和batchnode渲染//原理一样void runAnimation(){#define kCCMove_Time 3#define kCCMove_End ccp(200,200)#define kCCMove_Begin ccp(0,0) CCMoveTo *mv = CCMoveTo::create(kCCMove_Time,kCCMove_End); sprite -> stopAllActions(); //停掉动画 sprite -> setPosition(kCCMove_Begin); //重置状态 sprite -> runAction(mv); //run}//不要吧成员的创建放进这里面//成员的创建应该在构造函数