在屏幕中间产生
Posted
技术标签:
【中文标题】在屏幕中间产生【英文标题】:Spawning down the middle of the screen 【发布时间】:2015-06-05 19:04:06 【问题描述】:有没有办法在屏幕中间连续生成一个 SKSpriteNode。例如,我想在 x 轴的中间生成一个圆圈,然后让该节点一直生成到屏幕下方?
这些圆圈是不同的颜色,所以当它们生成时,有没有办法在它们生成时随机改变圆圈的颜色?
我知道我可以单独生成它们,但有更好的方法吗? (我在 swift 上使用 SpriteKit)
【问题讨论】:
你是什么意思'在 x 轴的中间生成并且节点一直在屏幕下方生成'? 抱歉,我可能指的是 y 轴,因为我希望这些圆形节点在屏幕中间以直线向下生成。 【参考方案1】:您需要学习一些基础知识。 了解 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)
【讨论】:
以上是关于在屏幕中间产生的主要内容,如果未能解决你的问题,请参考以下文章