我正在尝试使用CCFollow通过CCParticleSystem的某些实例来跟踪某些精灵。我不想使CCParticleSystem实例成为Sprite的子代,因为我希望在删除Sprite后的一段时间显示它。
当将精灵从左下角移动到右上角时,我的粒子系统从中心移动到左下角。我不明白为什么会这样。

这是示例代码:

-(id) init
{
    if( (self=[super init]) ) {
        CCSprite *someSprite = [CCSprite spriteWithFile:@"Icon.png"];
        [self addChild:someSprite];
        id action = [CCMoveTo actionWithDuration:5 position:ccp(480,320)];
        [someSprite runAction:action];

        CCParticleSystemQuad *effect = [CCParticleMeteor node];
//      effect.positionType = kCCPositionTypeFree;
//      effect.positionType = kCCPositionTypeRelative;
//      effect.positionType = kCCPositionTypeGrouped; changing of positionType to any of this options does not make any sense
        [effect runAction:[CCFollow actionWithTarget:someSprite]];
        [self addChild:effect];
    }
    return self;
}

最佳答案

这是不良文档的情况。

我自己尝试过,得到了相同的结果。通过查看代码和现有文档的片段,CCFollow操作旨在仅在全屏节点(例如CCLayer,CCScene甚至CCNode)上使用。我将其记录如下:

CCFollow是通过允许滚动条来滚动整个屏幕的动作。
层或场景跟随另一个节点,例如播放器对象。这是一个
移动Camera对象或更新位置的替代方法
手动。

关于iphone - CCF跟随CCParticleSystem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12489013/

10-11 02:21