2016-03-28 2 views
0

каждый раз, когда я запускаю свое приложение в своем симуляторе, масштаб просмотра всегда выходит до 768,1024, как вы его изменяете до 1024,768. здесь по умолчанию размер кода класс GameViewController: UIViewController {Как изменить размер SKscene

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let scene = GameScene(fileNamed:"GameScene") { 
     // Configure the view. 
     let 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.scaleMode = .AspectFill 

     skView.presentScene(scene) 
    } 
} 
+0

'scene.size = ...', и вы можете переместить свой код сверху от viewDidLoad до viewWillLayoutSubviews или viewDidAppear ... http://stackoverflow.com/a/26266857/1702413 – TonyMkenu

+0

Нет смысла вкладывать его в ViewWillLayoutSubviews. – crashoverride777

+0

Вы хотите изменить ориентацию экрана? – septicorn

ответ

3

1) Если вы используете .sks файлы (spriteKit визуальный редактор)

Просто зайдите в файл GameScene.sks (не скор) в вы проектируете, где вы можете изменить размер сцены в инспекторе справа.

Вы можете проверить эту статью здесь, где они показывают это, если вы прокрутите вниз немного. Это хороший учебник, который вы должны подготовить, если планируете работать с визуальным редактором.

https://www.raywenderlich.com/118225/introduction-sprite-kit-scene-editor

2) Не используя .sks файлов, загрузка сцены в коде

Если вы не используете .sks файлы, которые вы можете удалить файл GameScene.sks и загрузить сцену, как так.

override func viewDidLoad() { 
super.viewDidLoad() 

    // Configure the view. 
    guard let skView = self.view as? SKView else { return } 

    let scene = GameScene(size: CGSize(width: 1920, height: 1080)) 

    skView.showsFPS = true 
    skView.showsNodeCount = true 

    /* Sprite Kit applies additional optimizations to improve rendering performance */ 
    skView.ignoresSiblingOrder = true 

    scene.scaleMode = .AspectFill 

    skView.presentScene(scene) 
    } 

Надеется, что это помогает

+0

Я пробовал оба ваших метода, ни один из них не работал, я получил сообщения об ошибках от обоих. Я не думаю, что это правильно. вот представление по умолчанию загрузило код, переопределить func viewDidLoad() { super.viewDidLoad() если let scene = GameScene (fileNamed: "GameScene") { let skView = self.view as! SKView skView.showsFPS = верно skView.showsNodeCount = верно skView.ignoresSiblingOrder = истина scene.scaleMode = .AspectFill skView.presentScene (сцена)}} реализовать коды предоставленные вами, что делать я должен удалить и что мне нужно добавить? –

+0

Я обновлю свой ответ, 2 секунды. – crashoverride777

+0

Обновлено, дайте мне знать, как это происходит. – crashoverride777

Смежные вопросы