3

これは XCode SKEmitter エディターでのアニメーションです (iPhone で実現したい) :

ここに画像の説明を入力

これは iPhone のアニメーションです (このアニメーションは必要ありません)。

ここに画像の説明を入力

このコードの使用:

    let sparkEmmiter = SKEmitterNode(fileNamed: "fireflies.sks")
    self.addChild(sparkEmmiter) // self is a SKScene

    var circle: CGPathRef? = nil
    circle = CGPathCreateWithEllipseInRect(CGRectMake(400, 200, 200, 200), nil)
    let followTrack = SKAction.followPath(circle!, asOffset: false, orientToPath: true, duration: 3.0)
    let followTrackForever = SKAction.repeatActionForever(followTrack)
    //sparkEmmiter.runAction(followTrackForever)
    sparkEmmiter.particleAction = followTrackForever;

これはエミッタの設定です:

ここに画像の説明を入力

この質問を参考にrunActionとparticleActionの両方を試してみたのですが、思い通りにいかない...

-----------------アップデート-------------------------------- --------------

hamobi で言及されている解決策を試しました(まだ機能しません):

    //If I were you:
    // 1) I'd make a sprite and 
    let texture = SKTexture(imageNamed: "spark")
    let mySprite = SKSpriteNode(texture: texture)
    self.addChild(mySprite)

    // 2) add the emitter in your first example as a child.
    let sparkEmmiter = SKEmitterNode(fileNamed: "fireflies.sks")
    mySprite.addChild(sparkEmmiter)

    // 3) I'd set the emitters targetNode to the scene.
    sparkEmmiter.targetNode = self

    // 4) Then I'd just animate the sprite itself in an arc.
    var circle: CGPathRef? = nil
    circle = CGPathCreateWithEllipseInRect(CGRectMake(400, 200, 200, 200), nil)
    let followTrack = SKAction.followPath(circle!, asOffset: false, orientToPath: true, duration: 3.0)
    let followTrackForever = SKAction.repeatActionForever(followTrack)
    //sparkEmmiter.runAction(followTrackForever)
    sparkEmmiter.particleAction = followTrackForever;

ここに画像の説明を入力

-----------------アップデート 2 ------------------------------- ---------------

とった!Thx to hamobi :D これが結果です :D:D

ここに画像の説明を入力

4

1 に答える 1