0

画面の中央に SKSpriteNode を継続的に生成する方法はありますか。たとえば、x 軸の中央にスポーンしたい円があり、そのノードが画面のずっと下にスポーンするようにしますか?

これらの円は異なる色なので、スポーン時に円の色をランダムに変更する方法はありますか?

それらを個別にスポーンできることは理解していますが、より良い方法はありますか? (私はSwiftでSpriteKitを使用しています)

4

1 に答える 1

0

いくつかの基本的なことを学ぶ必要があります。For ループ、配列、arc4random について学習します。

        var circleDiameter: CGFloat = 80.0
        for var y = self.frame.height; y > 0; y = y - circleDiameter
        {
            let coloroptions = [UIColor.greenColor(), UIColor.blueColor(), UIColor.redColor()]
            let randomNumber = Int(arc4random_uniform(UInt32(coloroptions.count)))
            let color = coloroptions[randomNumber]
            var rect = CGRectMake(self.frame.width / 2, y, circleDiameter, circleDiameter)
            var circle = SKShapeNode()
            circle.path = UIBezierPath(ovalInRect: rect).CGPath
            circle.fillColor = color
            circle.lineWidth = 0
            circle.physicsBody = SKPhysicsBody(circleOfRadius: circle.frame.width / 2)
            circle.physicsBody?.dynamic = false
            self.addChild(circle)
        }
于 2015-06-06T14:03:07.133 に答える