Making a particle follow a path in spriteKit

2020-02-17 07:51发布

问题:

I have created a particle and when I test it moving on Xcode's property window, it looks like this:

I have added this particle to a scene, made a circle and forced the particle to run that circle using this:

    NSString *myParticlePath = [[NSBundle mainBundle] pathForResource:@"particle" ofType:@"sks"];
    SKEmitterNode *myParticle = [NSKeyedUnarchiver unarchiveObjectWithFile:myParticlePath];
    [self addChild:myParticle];

    CGPathRef circle = CGPathCreateWithEllipseInRect(CGRectMake(0,0,400,400), NULL);

    SKAction *followTrack = [SKAction followPath:circle asOffset:NO orientToPath:YES duration:1.0];

    SKAction *forever = [SKAction repeatActionForever:followTrack];

    [myParticle runAction:forever];

This is how it looks like. Like a block of white sugar candy. The node particle is following the path, but not the generated particles.

I have represented a circle in dashed so you can see the path it is following...

Any ideas?

thanks

回答1:

You sent the particle emitter to follow the path. If you want individual particles to run an action, use the emitter's particleAction property:

myParticle.particleAction = forever;