我正在尝试使用CCFollow通过CCParticleSystem的一些实例来关注一些精灵。我不想让CCParticleSystem的实例成为sprite的子项,因为我希望它在sprite删除后显示一段时间。 当从左下角到右上角移动精灵时,我的ParticleSystem从中心移动到左下角。我不明白为什么会这样。
以下是示例代码:
-(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;
}
答案 0 :(得分:1)
这是一个糟糕的文档案例。
我自己尝试了这个并获得了相同的结果。通过查看存在的代码和文档片段,CCFollow操作仅用于CCLayer,CCScene和CCNode等全屏节点。我会将其记录如下:
CCFollow是一个通过允许滚动整个屏幕的动作 图层或场景跟随另一个节点,例如玩家对象。这是一个 移动Camera对象或更新位置的替代方法 手动