Быстрое пустое приложение - PullRequest
0 голосов
/ 09 июня 2018

Я хочу изучить SpriteKit и следую этому уроку, https://www.raywenderlich.com/187645/spritekit-tutorial-for-beginners-2 Я скопировал и вставил этот же код из учебника в GameScene.swift, а также переместил изображение ниндзя в Assets.xcassets. Однако,когда я получаю две ошибки,

Перед тем, как я его запусту, я получаю

Принудительное приведение SkView к тому же типу не имеет никакого эффекта

После того, как язапустить его, я также получаю

Тема 1: EXC_BAD_ACCESS (код = 2, адрес = 0x7ffeed594fa8

Когда я запускаю его, приложение просто пусто ... Приложениедолжен показывать количество FPS и NodeCount? Вот мой код:

import SpriteKit
import GameplayKit

class GameScene: SKScene {

    override func didMove(to view: SKView) {
        let scene = GameScene(size: view.bounds.size)
        let skView = view as! SKView
        skView.showsFPS = true
        skView.showsNodeCount = true
        skView.ignoresSiblingOrder = true
        scene.scaleMode = .resizeFill
        skView.presentScene(scene)
    }

    override func update(_ currentTime: TimeInterval) {
        // Called before each frame is rendered
    }
}

Весь этот код находится в GameScene.swift Если кто-то может помочь мне, это было бы здорово! ОБНОВЛЕНИЕ: Я использую Swift 4

1 Ответ

0 голосов
/ 09 июня 2018

Кажется, у вас там бесконечная рекурсия.Обратите внимание, что у вас уже есть экземпляр GameScene, но в didMove вы создаете еще один GameScene, который вы представляете снова, который снова представляется в представлении, и didMove вызывается снова и т. Д.на.Я думаю, что ваш код должен выглядеть примерно так:

override func didMove(to view: SKView) {
   self.size = view.bounds.size
   view.showsFPS = true
   view.showsNodeCount = true
   view.ignoresSiblingOrder = true
   self.scaleMode = .resizeFill
}
...