0

これはこのフォーラムでの初めての投稿であり、間違った方法で何かを行っている場合は、あらかじめお詫び申し上げます。:)

Swift & SpriteKit で iphone ゲームを作成していますが、現在問題に直面しています。アプリがバックグラウンドになると、一時停止関数が呼び出されますが (以下を参照)、ゲームが再開すると自動的に一時停止が解除されます。

私はこの非常に興味深い投稿を見ました: Spritekit - didBecomeActive 時にゲームを一時停止したままにする(およびアプリがアクティブになったときに SpriteKit シーンを一時停止する方法は? ) しかし、私は立ち往生しています。

ビューが以下のコードに示すように構成されているため、新しい SKView クラスを実装する方法がわかりません...

これが私のアプリケーションの仕組みです:

class GameViewController: UIViewController {

var scene: GameScene!

override func viewDidLoad() {
    super.viewDidLoad()

    // Configure the View
    let SkView = view as! SKView
    SkView.multipleTouchEnabled = true

    // Create and configure the scene
    scene = GameScene(size: SkView.bounds.size)
    scene.scaleMode = .AspectFill

    // Present the scene
    SkView.presentScene(scene)

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("PauseWhenBackGround:"), name:"PauseWhenBackGround", object: nil)
}

func PauseWhenBackGround(notification : NSNotification) {
    if scene.Pausing == false{
        scene.Pause()
    }
}

私は次のことを試しました:

次の新しいクラスを追加しました。

class GameSceneView : SKView {      
    func CBApplicationDidBecomeActive() {
    }
}

次に、ビューを次のように設定しようとしましlet SkView = view as! GameSceneViewたが、ビューを MyProjectName.GameSceneView() にキャストできないというエラーが表示されました...次のことも試しました:let SkView! = GameSceneView() as GameSceneView!しかし、灰色の背景シーンになってしまいます...

CBApplicationDidBecomeActive() バグが発生しないように新しい SKView クラスを実装して、アクティブになったときにゲームが一時停止しないようにする方法を知っている人はいますか?

事前にどうもありがとうございました !:)

4

1 に答える 1