Я ищу правильный альтернативный метод решения моей текущей проблемы. Я попытался создать вторую GameScene в качестве основы для второй GameScene, в которой я надеялся исправить некоторые из переменных, моя проблема в том, что при этом мой игровой процесс полностью зависает там, где должны перемещаться узлы .. Я вижу все в GameScene, и при нажатии анимация игрока может вращаться при движении касания, фон остается неподвижным, а скорость игрока не выполняется.
Мой лог c для копирования GameScene выглядит следующим образом:
Import SpriteKit
enum PhysicsCategory: UInt32 {
case player = 1
case damagedplayer = 2
case ground = 4
case enemy = 8
}
class GameScene: SKScene, SKPhysicsContactDelegate {
// Code A
}
Под этим я разделил следующий класс следующим образом:
class GameScene1: GameScene {
// Code B (which is a copy of code A)
}
Это странно, потому что я не получаю ошибок в консоли вывода, но все движущиеся объекты GameScene не двигаются .. Имея удалил код GameScene1 и запустил симуляцию, мои объекты перемещаются и GamePlay работает нормально.
Теперь я знаю, что код кнопки, который я выполняю в MenuScene, работает правильно, поскольку фоновый UIColor был изменен, чтобы доказать, что сцена разные, но с одинаковым содержанием.
if nodeTouched.name == "GameScene1Btn" {
// Button node displayed in MenuScene
self.view?.presentScene(GameScene1(size: self.size))
// Switch to GameScene1:
}
Есть ли как лучше сделать это в Xcode? Я не нашел никаких подобных поисков для этого и борюсь с Xcode 'newb ie', чтобы понять это. Это поможет с логом c и пониманием будущего.