Могу ли я сделать свою GameScene основой для второй GameScene? - PullRequest
0 голосов
/ 27 мая 2020

Я ищу правильный альтернативный метод решения моей текущей проблемы. Я попытался создать вторую 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 и пониманием будущего.

...