有没有办法在屏幕中间连续生成SKSpriteNode。例如,我有一个圆圈,我想在x轴的中间产生,然后该节点一直在屏幕上产生?
这些圆圈是不同的颜色,所以当它们产生时有一种方法可以在它们产生时随机改变圆圈的颜色吗?
我知道我可以单独生成它们但是有更好的方法吗? (我在swift上使用SpriteKit)
答案 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)
}