import SpriteKit
let BallCategoryName = "ball"
let PaddleCategoryName = "paddle"
let BlockCategoryName = "block"
let BlockNodeCategoryName = "blockNode"
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
super.didMoveToView(view)
// 1. Create a physics body that borders the screen
let borderBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
// 2. Set the friction of that physicsBody to 0
borderBody.friction = 0
// 3. Set physicsBody of scene to borderBody
self.physicsBody = borderBody
physicsWorld.gravity = CGVectorMake(0, 0)
let ball = childNodeWithName(BallCategoryName) as! SKSpriteNode
ball.physicsBody!.applyImpulse(CGVectorMake(10, -10))
}
}
На этой строке кода:IOS Swift: EXC_BAD_INSTRUCTION
let ball = childNodeWithName(BallCategoryName) as SKSpriteNode
Я получаю эту ошибку:
"Thread 1:EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP, subcode=0x0)
Почему?
Запуск Xcode версии 6.4 (6E35b)
У вас есть дочернийNode с этим именем? мне кажется, что нет детей и что исключение из cuases. – Miknash
Протестируйте его во время выполнения через 'if let ball = childNodeWithName (BallCategoryName) как? SKSpriteNode {/ * это шарик SpriteNode :), но, вероятно, он не будет вызван, потому что приведение не выполнено :(* /} – HAS