Как создать больше SKScene в дополнение к GameScene

Я попытался создать новый подкласс SKScene «MainScene», подобно тому, как одно яблоко создало GameScene.

Я хочу создать больше сцен в дополнение к моей «GameScene», но это не работает.

Ниже приведен код моего подкласса.

Основная сцена:

import SpriteKit
#if !os(iOS)
import AppKit
#endif

class MainScene : SKScene {

    override func didMoveToView(view: SKView) {

        backgroundColor = UIColor.blueColor()

       }

}

MainSceneViewController:

import UIKit
import SpriteKit

class MainViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        if let scene = MainScene(fileNamed:"MainScene") {
            // 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
            skView.showsPhysics = true

            /* Set the scale mode to scale to fit the window */
            scene.scaleMode = .AspectFill

            skView.presentScene(scene)
        }
    }

введите здесь описание изображения Ошибка: "Не удалось преобразовать значение типа "UIView" (0x1097f2b20) в "SKView" (0x108a4cad0)".


person omer15    schedule 17.12.2015    source источник
comment
Возможно, именно здесь вы назвали свой класс «MainView» вместо «MainScene», где вы его объявили, в своем UIViewController?   -  person mdhomer    schedule 17.12.2015
comment
Многие люди всегда пропускают эту часть, поэтому я хочу спросить, вы создали файл MainScene.sks?   -  person Knight0fDragon    schedule 17.12.2015
comment
Тогда это ваша проблема MainScene(fileNamed:"MainScene") ищет MainScene.sks, а не MainScene.swift. MainScene.sks — это ваш фактический файл сцены, он содержит все предварительные данные для сцены. MainScene.swift — это просто код за кулисами, который говорит ему, как он должен действовать.   -  person Knight0fDragon    schedule 17.12.2015


Ответы (2)


При создании новой сцены вам нужно фактически создать новый файл сцены, а не только код файла.

Чтобы создать новые файлы сцены, перейдите в файл, Новый, Файл, затем в своих разделах перейдите в iOS, Сцена SpriteKit. Это создаст нужный вам файл sks.

редактировать:

В случае, если вы получаете сообщение об ошибке Could not cast value of type 'UIView' to 'SKView', это связано с тем, что в вашей раскадровке главное представление ViewControllers не имеет пользовательского класса SKView. В файле раскадровки откройте контроллер представления, щелкните представление для этого контроллера, убедитесь, что правая панель видна, и выберите вкладку инспектора удостоверений (вероятно, это третья слева, выглядит как флаг или конверт с окно). В разделе «Пользовательский класс» найдите текстовое поле класса и введите SKView

person Knight0fDragon    schedule 17.12.2015
comment
консоль вывода: Неизвестный класс _TtC6SKView18MainViewController в файле построителя интерфейсов. нет ошибок - person omer15; 17.12.2015
comment
ты видишь? не ViewController - person Knight0fDragon; 17.12.2015
comment
ViewController не просматривать - person omer15; 17.12.2015
comment
вам нужно сделать это на представлении, это то, что SKView, дочерний класс UIView - person Knight0fDragon; 17.12.2015
comment
мне нужно изменить UIViewController на UIView? - person omer15; 17.12.2015
comment
я не понимаю тебя. что я должен сделать? - person omer15; 17.12.2015
comment
Я действительно не знаю, как лучше объяснить. Это должно выглядеть так: cdn3.raywenderlich.com/wp-content/uploads/2014/06/ В области, отмеченной 2, убедитесь, что выбрано представление (как на картинке), затем измените пользовательский класс в области, отмеченной 7, выбрав третий значок слева - person Knight0fDragon; 17.12.2015
comment
изменить его на MainViewController? - person omer15; 17.12.2015
comment
нет, вообще не трогайте MainViewController, что бы вы ни делали с MainViewController, отмените - person Knight0fDragon; 17.12.2015

Чтобы создать больше SKScene в дополнение к GameScene

  • Go to New File
  • Выберите Coca Touch Class
  • Нажмите на Next
  • Подкласс: введите вручную SkScene
  • Создайте
  • импортировать SpriteKit
person shankar    schedule 21.07.2017
comment
импортировать SpriteKit в файл, который вы создали - person veeresh kumbar; 21.07.2017