destroy SceneFlxStates when a FlxMovie ends

This commit is contained in:
2021-12-21 16:37:38 -07:00
parent a54bb7cc73
commit a588954d86
3 changed files with 9 additions and 6 deletions

View File

@@ -22,6 +22,9 @@
(FlxG.state.openSubState currentState) (FlxG.state.openSubState currentState)
(cc)) (cc))
(method :Void cleanup []
(FlxG.state.openSubState null))
(var STAGE_LEFT_X 150) (var STAGE_LEFT_X 150)
(var STAGE_RIGHT_X (- 1280 150)) (var STAGE_RIGHT_X (- 1280 150))
(var ACTOR_Y 500) (var ACTOR_Y 500)

View File

@@ -9,6 +9,11 @@
(setSprite.loadGraphic (dictGet sets set)) (setSprite.loadGraphic (dictGet sets set))
(newScene name (cast (new SceneFlxState setSprite time perspective))))) (newScene name (cast (new SceneFlxState setSprite time perspective)))))
// Destroy substates when the movie end is reached:
(cleanup
(doFor =>name scene scenes
(.destroy (cast scene SceneFlxState))))
(method newFlxSound [name path &opt :Float volume] (method newFlxSound [name path &opt :Float volume]
(set volume (or volume 1)) (set volume (or volume 1))
(assert (<= 0 volume 1)) (assert (<= 0 volume 1))

View File

@@ -1,11 +1,6 @@
(prop &mut :FlxDirector director) (prop &mut :FlxDirector director)
(prop &mut :FlxMovie movie)
(method &override :Void create [] (method &override :Void create []
(set destroySubStates false) (set destroySubStates false)
(super.create) (super.create)
(set director (new FlxDirector)) (set director (new FlxDirector)))
(set movie (new FlxMovie director)))
(method &override :Void update [:Float elapsed]
(super.update elapsed))