Я новичок в iOS/Swift/Spritekit и в процессе миграции простой карточной игры в стиле пасьянса с Android. В настоящее время у меня есть две сцены: < /p>
LauncherScene, который является домашней страницей для приложения, и < /li>
Gamescene, где карты разбираются, и играет < /li>
< /ul>
. Метка нарезан, метод NewGameTap -Cappens вызывается в GameViewController, а новые загрузки GameScene. Игра в игровой игре происходит нормально. nil. < /p>
Вот фрагменты для каждого элемента реализации. Декларация протокола в Gamescene: < /p>
import SpriteKit
protocol GameSceneCoordinator: AnyObject {
func goHomeTextTapped(_ scene: GameScene)
}
class GameScene: SKScene {
weak var coordinator: (GameSceneCoordinator)?
var gameDeck = CardDeck()
...
< /code>
координатор вызван методом Touchesbegan (значение координатора - это NIL, когда я нарушаю этот вызов: < /p>
override func touchesBegan(_ touches: Set, with event: UIEvent?) {
let touch:UITouch = touches.first! as UITouch
let positionInScene = touch.location(in: self)
let touchedNodes = nodes(at: positionInScene)
...
if ((touchedNodes.contains(homeLabel)) && gameComplete) {
coordinator?.goHomeTextTapped(self)
}
}
< /code>
расширение GameViewController. Этот код никогда не выполняется, поскольку контроллер в приведенном выше фрагменте равен нулю: < /p>
extension GameViewController: GameSceneCoordinator {
func goHomeTextTapped(_ scene: GameScene) {
guard let view = self.view as? SKView else { return }
let scene = LauncherScene(size:CGSize(width: 768, height: 1024))
scene.coordinator = self
scene.scaleMode = .aspectFill
view.presentScene(scene)
}
}
< /code>
Launcherscene Gamescene < /p>
Я следовал этому примеру на среде, а в направлении Launcher-> Gamescene этот паттерн координатора работал отлично. Я проверял свой код по примеру здесь несколько раз и не могу найти разницу, которая объяснила бы, почему координатор нуждается от Gamescene обратно в Launcherscene
Подробнее здесь: https://stackoverflow.com/questions/795 ... m-my-games
Spritekit: Почему моя координаторная ценность NIL, пытаясь перейти из моего Gamescene обратно на свою домашнюю сцену? ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Открытие push-уведомления Мауи, как перейти на домашнюю страницу с параметрами
Anonymous » » в форуме IOS - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-