безуспешно работая над этим кодом в течение нескольких часов, пожалуйста, посоветуйте:
Я создаю игру spritekit для iOS 9. Этот метод:
func createFiringParticles(location:CGPoint, force:CGVector){
let fireEmitter = SKEmitterNode(fileNamed: "FireParticles")
fireEmitter!.position = location
fireEmitter!.name = "fireEmitter"
fireEmitter!.zPosition = 1
fireEmitter!.targetNode = self
fireEmitter!.numParticlesToEmit = 50
fireEmitter!.xAcceleration = force.dx
fireEmitter!.yAcceleration = -force.dy
self.addChild(fireEmitter!)
}
выдает эту ошибку: фатальная ошибка: неожиданно найдено nil при распаковке необязательного значения
ошибка сначала не инициируется (поэтому она работает несколько минут, пока не рухнет). Я попытался развернуть SKEmitterNode с помощью NSKeyedUnarchiver:
var unWrappedFireEmitter = NSBundle.mainBundle().pathForResource("FireParticles", ofType: "sks")!
var fireEmitter = NSKeyedUnarchiver.unarchiveObjectWithFile(unWrappedFireEmitter) as! SKEmitterNode
fireEmitter.position = location
fireEmitter.name = "fireEmitter"
..........
self.addChild(fireEmitter)
без всякого успеха. как развернуть SKEmitterNode? это что-то в файле sks? большое спасибо за помощь!!!!
!
). Если необязательная переменнаяnil
, это не даст вам волшебным образом действительный экземпляр. Вам нужно убедиться, что это неnil
перед принудительной распаковкой. Это очень простой материал, я думаю, вам следует как минимум прочитать книгу Swift: itunes.apple.com/jp/book/swift-programming-language/ - person Nicolas Miari   schedule 17.09.2015NSBundle...
вполне может вернутьnil
: например, вы указали путь к несуществующему файлу для чтения. - person Nicolas Miari   schedule 17.09.2015