相关疑难解决方法(0)

如何将CCSprite从一个父级转移到另一个父级?

我有一个CCSpritesprite那就是一个孩子CCLayermovingLayer这本身就是当前的一个孩子CCLayer跑我的游戏逻辑,所以self在这种情况下. movingLayer在一个重复的永远行动中来回穿过屏幕,sprite并在它上面骑行.我想要sprite"开始" movingLayer并"继续"到self它可以做自己的一些行动的地方.

当我尝试这样做时,我需要告诉movingLayer删除spriteself添加sprite. 这就是我所做的...

- (void)attack:(id)sender
{
    [sprite stopAllActions];
    [movingLayer removeChild:sprite cleanup:YES];
    [self addChild:sprite z:1];
    CGFloat distance = ccpDistance(sprite.position, ccp(sprite.position.x, -sprite.contentSize.height/2));
    id goDown = [CCMoveTo actionWithDuration:distance/moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)];
    id repeatDown = [CCRepeatForever actionWithAction:[CCSequence actions:[CCMoveTo actionWithDuration:0 position:ccp(sprite.position.x, sprite.contentSize.height/2+self.contentSize.height)], [CCMoveTo actionWithDuration:moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)], nil]];
    id attackAction = [CCSequence actions:goDown, repeatDown, nil];
    [sprite runAction:attackAction];
} …
Run Code Online (Sandbox Code Playgroud)

cocos2d-iphone cclayer ccsprite

4
推荐指数
1
解决办法
2034
查看次数

标签 统计

cclayer ×1

ccsprite ×1

cocos2d-iphone ×1