Размер сцены в Xcode 6 / SpriteKit / Swift
Я застрял, делая то, что должно быть очень простым в Xcode, я пытаюсь добавить спрайт к сцене и для него сидеть в левом нижнем углу:
var groundTexture : SKTexture = SKTexture(imageNamed: "dirt-block")
var ground : SKSpriteNode = SKSpriteNode(texture: groundTexture)
ground.position = CGPointMake(ground.size.width/2, ground.size.height/2)
self.addChild(ground)
Это ничего не показывает, поэтому я взглянул на то, каковы размеры сцены и себя.рамка.размер.ширина и собственная личность.рамка.размер.высота возвращает ширину 1024 и высоту 768, независимо от ориентации.
Я хочу, чтобы это исправлено в ландшафтном режиме, если это делает никакой разницы в ответ?
мне, очевидно, не хватает очень фундаментальной идеи, связанной с настройкой сцены, если бы кто-нибудь мог пролить свет, это было бы очень оценено.
спасибо.
1 ответов
вы должны отредактировать GameViewController:
вырезать все от viewDidLoad()
за исключением super.viewDidLoad()
перезаписать viewWillLayoutSubviews
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
// Configure the view.
var skView = self.view as SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.size = skView.bounds.size
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
также вы должны установить размер сцены, как вы можете видеть
scene.size = skView.bounds.size
надеюсь, что это помогает
существует также отличный учебник, где это объясняется лучше: http://www.raywenderlich.com/49721/how-to-create-a-breakout-game-using-spritekit (Глава 1 или 2)