make a new pieceCamera when switching puzzles

This commit is contained in:
2022-08-19 21:19:49 +00:00
parent b5284f99ae
commit 5d50a672d9

View File

@@ -11,11 +11,17 @@
(method &override :Void create [] (method &override :Void create []
(add logTexts) (add logTexts)
(set Prelude.printStr log) (set Prelude.printStr log)
(set pieceCamera FlxG.camera) (defAndCall method newPieceCamera
(if pieceCamera
{
(FlxG.cameras.remove pieceCamera)
(set pieceCamera (new FlxCamera))
(FlxG.cameras.add pieceCamera)
}
(set pieceCamera FlxG.camera))
(set FlxG.camera pieceCamera))
(set uiCamera (new FlxCamera)) (set uiCamera (new FlxCamera))
(set uiCamera.bgColor FlxColor.TRANSPARENT) (set uiCamera.bgColor FlxColor.TRANSPARENT)
(pieceCamera.copyFrom FlxG.camera)
(set FlxG.camera pieceCamera)
(FlxG.cameras.add uiCamera) (FlxG.cameras.add uiCamera)
(FlxG.plugins.add (new FlxMouseControl)) (FlxG.plugins.add (new FlxMouseControl))
(set FlxMouseControl.sortIndex "priorityID") (set FlxMouseControl.sortIndex "priorityID")
@@ -265,14 +271,12 @@
(set save.data.storedOrigins (new Map<Int,FlxPoint>))) (set save.data.storedOrigins (new Map<Int,FlxPoint>)))
(unless save.data.backgroundIndex (unless save.data.backgroundIndex
(set save.data.backgroundIndex 0)) (set save.data.backgroundIndex 0))
(set pieceCamera.bgColor (nth backgroundOptions save.data.backgroundIndex))
(when save.data.zoom
(set pieceCamera.zoom save.data.zoom)
(set pieceCamera.scroll save.data.scroll))
(unless (and (= lastRewardFileIndex rewardFileIndex) (= lastTotalPoints (m.totalPoints))) (unless (and (= lastRewardFileIndex rewardFileIndex) (= lastTotalPoints (m.totalPoints)))
// When the current puzzle has changed: // When the current puzzle has changed:
(unless (= lastRewardFileIndex rewardFileIndex) (unless (= lastRewardFileIndex rewardFileIndex)
// Make a new camera so scroll from the last puzzle doesn't start the camera out of boundS
(newPieceCamera)
(set rewardSprite (set rewardSprite
(new FlxSprite 0 0 (new FlxSprite 0 0
(BitmapData.fromFile (BitmapData.fromFile
@@ -428,6 +432,11 @@
(set lastTotalPoints (m.totalPoints)) (set lastTotalPoints (m.totalPoints))
(pieceCamera.calculateScrollBounds rewardSprites uiCamera SCROLL_BOUND_MARGIN) (pieceCamera.calculateScrollBounds rewardSprites uiCamera SCROLL_BOUND_MARGIN)
(when save.data.zoom
(set pieceCamera.zoom save.data.zoom)
(set pieceCamera.scroll save.data.scroll))
(set pieceCamera.bgColor (nth backgroundOptions save.data.backgroundIndex))
(save.flush)) (save.flush))
(method makeText [:Entry e] (method makeText [:Entry e]