我正在使用XB6在Swift 10.9上玩Sprite Kit。我的场景中有一些代码在鼠标点击位置添加了一个精灵。它因此加载了精灵:
let location = theEvent.locationInNode(self)
let sprite = SKSpriteNode(imageNamed:"Spaceship")
sprite.position = location
sprite.setScale(0.5)
self.addChild(sprite)
此代码运行良好一段时间;我点击,精灵出现在我期望的地方。但如果我继续点击,最终第二行将导致:
EXEC_BAD_ACCESS (code=EXC_I386_GPFLT)
(我希望他们让你复制错误......)。有时需要5次点击,有时需要20次,没有明显的模式。谷歌搜索错误,它显然发生在SK或斯威夫特的深处。
还有其他人看到这个吗?
答案 0 :(得分:0)
这是touchesBegan功能吗?如果是这样,你使用了循环吗?
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch in touches{
let location = touch.locationInNode(self)
let sprite = SKSpriteNode(imageNamed:"Spaceship")
sprite.position = location
sprite.setScale(0.5)
self.addChild(sprite)
}
}
答案 1 :(得分:0)
确定这是beta版本中的错误。用6.0版本替换我的Xcode,然后从6.1B复制10.10 SDK修复了这个问题。