0
我已经在iPhone的cocos2d中创建了两个边界框,当它们与selSprite中的图像相交时,如果它们的标记匹配,则替换targetSprite中的图像。我想在边界框碰撞时给出一个很好的动画。以下代码成功替换了精灵,但FadeOut动画运行AFTER图像已被替换。当图像被替换时,动画应该运行。我究竟做错了什么?任何帮助,将不胜感激。谢谢!用动画替换cocos2d中的Sprite
if (CGRectIntersectsRect(getSpriteRect, selSpriteRect)) {
if ([selSprite tag] == ([targetSprite tag]-7)) {
//NSLog(@"%d", [targetSprite tag]);
//NSLog(@"%@", [selectedSpritesToBeUsedLater objectAtIndex:[selSprite tag]]);
CCSprite *replacedImage = (CCSprite *)[self getChildByTag:[targetSprite tag]];
CCSprite *spriteToBeUsedInTex = [selectedSpritesToBeUsedLater objectAtIndex:[selSprite tag]];
id removeSpriteAction = [CCFadeOut actionWithDuration:2.0f];
id removeSelSprite = [CCCallFunc actionWithTarget:self selector:@selector(removeSelSpriteByTag)];
CCSequence *sequence = [CCSequence actions:removeSpriteAction, removeSelSprite, nil];
[selSprite runAction:sequence];
CCTexture2D *tex = [[CCTextureCache sharedTextureCache] addImage:[NSString stringWithFormat:@"color-0%d.png", [spriteToBeUsedInTex tag]+1]];
[replacedImage setTexture:tex];
}
}
} }
-(void)removeSelSpriteByTag {
[self removeChildByTag:[selSprite tag] cleanup:YES]; }
我不工作。你能指导我如何做到这一点?我用CCSpawn替换了CCSequence。现在没有效果,它只是卡入到位! – 2012-07-25 04:54:27