Files
kiss-flixel/shader-test/source/MirroredOrnamentState.kiss

44 lines
1.5 KiB
Plaintext

(import flixel.FlxState)
(import flixel.FlxG)
(import flixel.FlxSprite)
(import flixel.util.FlxColor)
(import openfl.filters.BitmapFilter)
(import openfl.filters.ShaderFilter)
(import flixel.system.FlxAssets.FlxShader)
(import kiss_flixel.SimpleWindow)
(extends FlxState)
(prop &mut shader null)
(method &override :Void create []
(super.create)
(set FlxG.camera.bgColor FlxColor.TRANSPARENT)
(let [bg (new FlxSprite 0 0 "assets/images/apTestRoomEdited.jpg")]
(bg.setGraphicSize (iHalf FlxG.width) (iHalf FlxG.height))
(bg.screenCenter)
(set bg.alpha 0.5)
(add bg))
(set shader (new kiss_flixel.shaders.MirroredOrnament "mirroredOrnament.json"))
~shader.uniforms
(kiss_flixel.CameraTools.addBackgroundShaders (array FlxShader shader)))
(method &override :Void update [:Float elapsed]
(super.update elapsed)
(when FlxG.keys.justPressed.A
(SimpleWindow.promptForColor "Choose color A"
->color
(set shader.color_aFlxColor color)))
(when FlxG.keys.justPressed.B
(SimpleWindow.promptForColor "Choose color B"
->color
(set shader.color_bFlxColor color)))
(when FlxG.keys.justPressed.C
(SimpleWindow.promptForColor "Choose color C"
->color
(set shader.color_cFlxColor color)))
(when FlxG.keys.justPressed.D
(SimpleWindow.promptForColor "Choose color D"
->color
(set shader.color_dFlxColor color)))
(+= FlxG.camera.zoom 0.01))