0

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]; }
4

1 に答える 1

1

CCSpawnその代わりに使用する必要がありますCCSequence

于 2012-07-24T23:40:17.193 に答える