SKScene не загружается при добавлении GKComponent в GameScene.sks - PullRequest
0 голосов
/ 28 февраля 2020

В настоящее время я создаю 2D-игру с использованием Swift SpriteKit и GameplayKit. У меня есть файл GameScene.sks и файл GameScene.swift, который имеет тип SKScene. Теперь я хотел добавить компонент типа GKComponent. Я создал свой компонент и добавил его в один из моих SKSpriteNodes в GameScene.sks New Created Component

Однако после добавления компонента в SpriteNode в Инспекторе редакторов сцен сцена больше не загружается и приложение показывает только серый экран.

enter image description here

Это известная проблема в XCode? Есть ли способ обойти эту проблему?

Я не загружал ни одного примера кода. Эта проблема воспроизводится любым новым проектом XCode (ios / Game), который поддерживает SpriteKit и GameplayKit. Просто добавьте класс, производный от GKComponent, и добавьте этот класс к указанному helloLabel в редакторе сцен.

Вот как загружается GameScene:

class GameViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        if let scene = GKScene(fileNamed: "GameScene") {
            if let sceneNode = scene.rootNode as! GameScene? {
                // This gets only executed when I remove the Component from the SKSpriteNode in the Scene Editor.
            }
        }
        ...
...