iPhone 用の cocos2d で 2 つのバウンディング ボックスを作成しました。それらが交差すると、selSprite の画像とタグが一致すると、targetSprite の画像が置き換えられます。バウンディング ボックスが衝突するときに素敵なアニメーションを提供したいと考えています。次のコードはスプライトを正常に置き換えますが、画像が置き換えられた後に FadeOut アニメーションが実行されます。画像が置き換えられるときにアニメーションを実行する必要があります。私は何を間違っていますか?どんな助けでも大歓迎です。ありがとう!
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]; }