В настоящее время я создаю 2D-игру с использованием Swift SpriteKit и GameplayKit. У меня есть файл GameScene.sks и файл GameScene.swift, который имеет тип SKScene. Теперь я хотел добавить компонент типа GKComponent. Я создал свой компонент и добавил его в один из моих SKSpriteNodes в GameScene.sks ![New Created Component](https://i.stack.imgur.com/c4XZ6.jpg)
Однако после добавления компонента в SpriteNode в Инспекторе редакторов сцен сцена больше не загружается и приложение показывает только серый экран.
![enter image description here](https://i.stack.imgur.com/PiY4I.jpg)
Это известная проблема в 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.
}
}
...