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

34 lines
1.1 KiB
Plaintext

(import flixel.FlxState)
(import flixel.FlxG)
(import flixel.FlxSprite)
(import flixel.util.FlxColor)
(import openfl.filters.BitmapFilter)
(import openfl.filters.ShaderFilter)
(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 MirroredOrnament))
// (set shader.data.invert.value [true])
// (set shader.data.color1.value [1.0 1.0 1.0 1.0])
// (set shader.data.color2.value [0.0 0.0 0.0 1.0])
// (set shader.checkSizeFloat 64.0)
(let [:BitmapFilter filter (new ShaderFilter shader)
:Array<BitmapFilter> filters [filter]]
(FlxG.camera.setFilters filters)))
(method &override :Void update [:Float elapsed]
(super.update elapsed)
(+= FlxG.camera.zoom 0.01)
**(when FlxG.keys.justPressed.SPACE
(set shader.data.invert.value [!(first shader.data.invert.value)])))