1
実際のコードを表示します。ヘルパー::サブクラスでGKStateMachineを使用したリーク
import SpriteKit
import GameplayKit
class GameSceneHelper: SKScene {
override func didMove(to view: SKView) {
}
}
いくつかのゲームの状態を持つヘルパーのサブクラス:
import SpriteKit
import GameplayKit
class GameScene: GameSceneHelper {
lazy var gameState:GKStateMachine = GKStateMachine(states: [
Introduction(scene: self),
SecondState(scene: self) ])
override func didMove(to view: SKView) {
self.gameState.enter(Introduction.self)
}
}
そしてアメリカこれは3つの要素があります。ここで私はそれらの1つを提示する。
import SpriteKit
import GameplayKit
class Introduction: GKState {
weak var scene:GameScene?
init(scene:SKScene) {
self.scene = scene as? GameScene
super.init()
}
override func didEnter(from previousState: GKState?) {
print("INSIDE THE Introduction STATE")
}
}
問題は、私はGameSceneHelperのサブクラス内部gameState変数を定義するとき、私はリークを取得していますということです:他は同じ構造を有しています。しかし、私がサブクラスを使用せず、代わりにGameSceneをSKSceneの直接サブクラスにすると、すべてが機能します。問題は私のプロジェクトではヘルパーが必要なので、私はそれを式から取り除くことができないということです。 誰か提案はありますか?