import SpriteKit
var counter:Int
var randX = Int(arc4random_uniform(255))
var randY = Int(arc4random_uniform(425))
var coin:SKSpriteNode?
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
//...
for var index = 0; index < 3; ++index {
print("index is \(index)")
coin = SKSpriteNode(fileNamed: "gargar")
coin.frame = CGRectMake(randX, randY, coin.frame.size.width,
coin.frame.size.height)
self.addChild(coin)
}
}
好吧,我找到了循环。我有 x,y 的随机数,所以希望它会保持在 CGRectMake 范围内?我一直在寻找与此执行相关的问题/答案,但也许它是如此简单以至于没有人遇到过它?请指教。我将不胜感激并转发。
创造性地, 门萨
最佳答案
您想设置 Sprite 的位置,而不是框架。
coin = SKSpriteNode(fileNamed: "gargar")
coin.position = CGPoint(x: randX, y: randY)
self.addChild(coin)
如果您尝试从图像创建节点,您实际上会使用
coin = SKSpriteNode(imageNamed: "gargar")
fileNamed
用于加载 .sks
文件,而不是图像。
请记住,randX 和 randY 的值在整个循环中不会改变。您目前正在同一位置添加 3 个 Sprite 。如果您希望它们都位于不同的位置,请将随机点生成移动到循环内。
关于ios - 如何使用 Swift 2 (SpriteKit) 以编程方式添加要查看的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948305/