2017-08-29 21 views
0

私は自分の宇宙船にパーティクルトレイルをつけたいと思っています。どうすればいい?Spritekitパーティクルを追加する

override func didMove(to view: SKView) { 
    spaceS.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2) 
    spaceS.setScale(0.05) 
    spaceS.zPosition = 1 

    addChild(spaceS) 

} 
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 

     for touch in touches { 
      let location = touch.location(in: self) 
      spaceS.position = CGPoint(x: location.x, y: location.y) 
     } 


} 
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { 
       for touch in touches { 
      let location = touch.location(in: self) 
      spaceS.position = CGPoint(x: location.x, y: location.y) 
     } 


} 

EDIT 1:

は、ここに私の宇宙船のための私のコードですあなたは上コマンド+ Nを押してSpriteKit Particle Fileを作成する必要があり、火災の粒子軌跡は、より正確な

答えて

1

最初にしますキーボードとテンプレートからiOS - >Resources - >SpriteKit Particle FileをクリックしてNextをクリックし、particle templatefireを選択してください。 tを入力してSpriteKit Particle Fileに名前をつけて、プロジェクトにyourFileName.sksというファイルを作成します。

以下のコードを使用します。

override func didMove(to view: SKView) { 

    spaceS = SKSpriteNode(imageNamed: "Spaceship") 
    spaceS.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2) 
    spaceS.setScale(0.50) 
    spaceS.zPosition = 1 

    addChild(spaceS) 

    let emitter = SKEmitterNode(fileNamed: "MyParticle") //MyParticle is the name of the sks file. 
    emitter?.position = CGPoint(x: 0, y: -spaceS.size.height) 
    emitter?.zPosition = 1 
    spaceS.addChild(emitter!) //Now the emitter is the child of your Spaceship.  
} 

出力:

スプライトは火が表示されない小さすぎる、そしてそれはまたの真ん中に出現するかどう

enter image description here

+0

スプライト –

+0

私は最後のコメントをよりよく説明します。パーティクルが小さいスケールに設定されている場合、スプライトの中央に表示されます(消えません) –

+0

スプライトの方が小さい場合があります。パーティクルのサイズを小さくしてください。私の答えが問題を解決するのに役立つなら、答えを受け入れるかupvoteするべきです。 – Joe

関連する問題