产生在屏幕中间

时间:2015-06-05 19:04:06

标签: swift sprite-kit skspritenode spawning

有没有办法在屏幕中间连续生成SKSpriteNode。例如,我有一个圆圈,我想在x轴的中间产生,然后该节点一直在屏幕上产生?

这些圆圈是不同的颜色,所以当它们产生时有一种方法可以在它们产生时随机改变圆圈的颜色吗?

我知道我可以单独生成它们但是有更好的方法吗? (我在swift上使用SpriteKit)

1 个答案:

答案 0 :(得分: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)
        }