在Y轴上的不同位置添加多个节点

时间:2017-04-03 17:16:11

标签: swift sprite-kit

我试图在Y轴上的不同位置添加许多节点。问题在于,由于某种原因,这些职位总是(0:0)。

我已经完成了与此相关的几乎所有问题,但无法找到答案。

我在最大值和最小值之间生成随机数:

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 个答案:

答案 0 :(得分: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,但我不认为这是对的,所以我忽略了那一部分 - 如果你真的相信这一点,请在打印声明中加入更多信息,以便你知道你不是不被其他一些输出所愚弄)