make checkerboard a background with transparency. close #2
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
(import flixel.FlxState)
|
(import flixel.FlxState)
|
||||||
(import flixel.FlxG)
|
(import flixel.FlxG)
|
||||||
(import flixel.FlxSprite)
|
(import flixel.FlxSprite)
|
||||||
|
(import flixel.util.FlxColor)
|
||||||
(import openfl.filters.BitmapFilter)
|
(import openfl.filters.BitmapFilter)
|
||||||
(import openfl.filters.ShaderFilter)
|
(import openfl.filters.ShaderFilter)
|
||||||
|
|
||||||
@@ -10,9 +11,11 @@
|
|||||||
|
|
||||||
(method &override :Void create []
|
(method &override :Void create []
|
||||||
(super.create)
|
(super.create)
|
||||||
|
(set FlxG.camera.bgColor FlxColor.TRANSPARENT)
|
||||||
(let [bg (new FlxSprite 0 0 "assets/images/apTestRoomEdited.jpg")]
|
(let [bg (new FlxSprite 0 0 "assets/images/apTestRoomEdited.jpg")]
|
||||||
(bg.setGraphicSize FlxG.width FlxG.height)
|
(bg.setGraphicSize (iHalf FlxG.width) (iHalf FlxG.height))
|
||||||
(bg.screenCenter)
|
(bg.screenCenter)
|
||||||
|
(set bg.alpha 0.5)
|
||||||
(add bg))
|
(add bg))
|
||||||
(set shader (new kiss_flixel.shaders.CheckerBoard))
|
(set shader (new kiss_flixel.shaders.CheckerBoard))
|
||||||
// (set shader.data.invert.value [true])
|
// (set shader.data.invert.value [true])
|
||||||
|
@@ -6,6 +6,10 @@ uniform float checkSize = 64;
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
|
vec4 color = flixel_texture2D(bitmap, openfl_TextureCoordv);
|
||||||
|
|
||||||
|
float transparency = 1.0 - color.a;
|
||||||
|
|
||||||
vec2 position = openfl_TextureCoordv * iResolution + cameraPos;
|
vec2 position = openfl_TextureCoordv * iResolution + cameraPos;
|
||||||
float row = floor(position.y / checkSize);
|
float row = floor(position.y / checkSize);
|
||||||
float col = floor(position.x / checkSize);
|
float col = floor(position.x / checkSize);
|
||||||
@@ -16,5 +20,6 @@ void main()
|
|||||||
vec4 oddColor = oddRow ? color1 : color2;
|
vec4 oddColor = oddRow ? color1 : color2;
|
||||||
vec4 evenColor = oddRow ? color2 : color1;
|
vec4 evenColor = oddRow ? color2 : color1;
|
||||||
|
|
||||||
gl_FragColor = oddCol ? oddColor: evenColor;
|
vec4 bgColor = oddCol ? oddColor: evenColor;
|
||||||
|
gl_FragColor = color + bgColor * transparency;
|
||||||
}
|
}
|
Reference in New Issue
Block a user