Super simple sky backgrounds

This commit is contained in:
2023-03-30 17:11:00 -06:00
parent b9eee935e5
commit 050764c0d0

View File

@@ -22,6 +22,8 @@
(spriteLayers.push g) (spriteLayers.push g)
(FlxG.state.add g)))) (FlxG.state.add g))))
(prop &mut :FlxSprite skySprite)
(method :Void showSet [:FlxSprite setSprite :SceneTime time :ScenePerspective perspective :Appearance appearance :FlxCamera camera :Continuation cc] (method :Void showSet [:FlxSprite setSprite :SceneTime time :ScenePerspective perspective :Appearance appearance :FlxCamera camera :Continuation cc]
(case appearance (case appearance
(FirstAppearance (FirstAppearance
@@ -32,6 +34,15 @@
(setSprite.screenCenter)) (setSprite.screenCenter))
(otherwise)) (otherwise))
// TODO draw a sky background depending on time of day, int/ext // TODO draw a sky background depending on time of day, int/ext
(let [skyColor (case time
((or Morning Day) DAY_SKY_COLOR)
(Evening EVENING_SKY_COLOR)
(Night NIGHT_SKY_COLOR)
(never null))]
(set skySprite (new FlxSprite))
(skySprite.makeGraphic FlxG.width FlxG.height skyColor true)
(set skySprite.cameras [camera])
(FlxG.state.add skySprite))
(FlxG.cameras.remove flxMovie.uiCamera false) (FlxG.cameras.remove flxMovie.uiCamera false)
(FlxG.cameras.remove flxMovie.screenCamera false) (FlxG.cameras.remove flxMovie.screenCamera false)
@@ -44,6 +55,7 @@
(method :Void hideSet [:FlxSprite set :FlxCamera camera :Continuation cc] (method :Void hideSet [:FlxSprite set :FlxCamera camera :Continuation cc]
(FlxG.cameras.remove camera false) (FlxG.cameras.remove camera false)
(FlxG.state.remove skySprite)
(FlxG.state.remove set) (FlxG.state.remove set)
(cc)) (cc))
@@ -51,6 +63,10 @@
(lightSprite.drawPolygon source.points source.color (object color FlxColor.TRANSPARENT)) (lightSprite.drawPolygon source.points source.color (object color FlxColor.TRANSPARENT))
(lightMask.drawPolygon source.points FlxColor.BLACK (object color FlxColor.TRANSPARENT))) (lightMask.drawPolygon source.points FlxColor.BLACK (object color FlxColor.TRANSPARENT)))
(var DAY_SKY_COLOR FlxColor.CYAN)
(var NIGHT_SKY_COLOR FlxColor.BLACK)
(var EVENING_SKY_COLOR (FlxColor.fromRGB 23 28 70))
(var EVENING_COLOR (FlxColor.fromRGBFloat 0.5 0 0.5 0.2)) (var EVENING_COLOR (FlxColor.fromRGBFloat 0.5 0 0.5 0.2))
(var NIGHT_COLOR (FlxColor.fromRGBFloat 0 0 0 0.5)) (var NIGHT_COLOR (FlxColor.fromRGBFloat 0 0 0 0.5))
(prop &mut :FlxSprite lightSprite null) (prop &mut :FlxSprite lightSprite null)