У меня возникла следующая проблема при попытке закодировать клон флэппи-птиц в Xcode 6 beta 7 с помощью Swift и SpriteKit.
После добавления свойства physicsBody в SKSpriteNode я не могу напрямую изменить свойство physicsBody, например, я не могу сделать следующее:
bird = SKSpriteNode(texture: birdTexture1)
bird.position = CGPoint(x: self.frame.size.width / 2.8, y: CGRectGetMidY(self.frame))
bird.runAction(flight)
bird.physicsBody = SKPhysicsBody(circleOfRadius: bird.size.height/2)
bird.physicsBody.dynamic = true
bird.physicsBody.allowsRotation = false
Сборка Xcode завершится ошибкой с ошибками в двух строках, где я добавляю динамические значения и значения AllowRotation в PhysicsBody, единственный способ сделать это — сделать следующее:
bird.physicsBody?.dynamic = true
bird.physicsBody?.allowsRotation = false
Проблема наличия physicsBody как необязательного с '?' характер заключается в том, что это усложняет выполнение определенных операций при попытке манипулировать некоторой физикой птиц, которую я хотел добавить, например вращение при движении.
Любое предложение о том, как избежать/исправить необходимость помечать свойство physicsBody как необязательное? («Физическое тело?»)
Спасибо!
(источник: tinygrab.com< /а>)
(источник: tinygrab.com а>)