2017-04-03 12 views
1

Y軸の異なる位置に多くのノードを追加しようとしています。問題は何らかの理由で位置が常に(0:0)ということです。Y軸の異なる位置に複数のノードを追加する

私はこれに関連するすべてのSOの質問をほとんど経験しましたが、回答が見つかりませんでした。

私は最大値と最小値の間の乱数を生成しています:

func randomBetweenTwoNumbers(firstNumber: CGFloat, secondNumber: CGFloat) -> CGFloat{ 
     return CGFloat(arc4random())/CGFloat(UINT32_MAX) * abs(firstNumber - secondNumber) + min(firstNumber, secondNumber) 

} 

今、私はこのようにそれらを追加しようとしています:

func addLeftSparks(){ 

     let randomNumber = Helper().randomBetweenTwoNumbers(firstNumber: leftSparkMinimumY, secondNumber: leftSparkMaximumY) 
     print(randomNumber) 


     let positions = [CGPoint(x: -275, y: randomNumber), CGPoint(x: -275, y: randomNumber)] 
     print(positions) // this is (0:0) 

     positions.enumerated().forEach { (index, point) in 
      let spriteNode = SKNode() 
      spriteNode.position = point 
      let sprite = SKSpriteNode(imageNamed: "Spark") 

      sprite.name = "Spark" 
      spriteNode.addChild(sprite) 

     } 
    } 

私は絵で達成しようとしている事を。

enter image description here

すべてのヘルプは、実際の高く評価されまあ。

+1

バグについては説明していないかもしれませんが、シーンに 'spriteNode'を追加するべきではありませんか? –

+0

@PauloMattosまあまあ、あなたはまったく正しいです:D私は実際にはそれを見ませんでした:Dしかし、なぜそれは時間に1つを追加しますか? –

答えて

2

あなたは乱数を生成していますが、二回

let randomNumber = Helper().randomBetweenTwoNumbers(firstNumber: leftSparkMinimumY, secondNumber: leftSparkMaximumY) 
print(randomNumber) 

let positions = [CGPoint(x: -275, y: randomNumber), CGPoint(x: -275, y: randomNumber)] 

位置にそれを使用するには、同じYと2ポイントであるので、あなたは一つのノードのみが表示されます。新しい乱数ごとに乱数関数を呼び出す必要があります。

(私はそれが0,0と言っていたことを知っていますが、それは正しいとは思わないので、私はその部分を無視しています - あなたが本当にそれを信じるならば、

+0

あなたは絶対にそうです:)それを指摘していただきありがとうございます。 –

関連する問題