2
0
ncannasse 8 жил өмнө
parent
commit
cdeedb59c6

+ 8 - 1
h2d/filter/AbstractMask.hx

@@ -4,6 +4,7 @@ class Hide extends Filter {
 
 	public var frame : Int;
 	public var input : h2d.Tile;
+	public var maskVisible : Bool;
 
 	public function new() {
 		super();
@@ -13,7 +14,7 @@ class Hide extends Filter {
 	override function draw( ctx : RenderContext, input : h2d.Tile ) {
 		this.frame = ctx.frame;
 		this.input = input;
-		return null;
+		return maskVisible ? input : null;
 	}
 
 }
@@ -26,6 +27,7 @@ class AbstractMask extends Filter {
 	var obj : h2d.Sprite;
 	var bindCount : Int;
 	public var mask(default, set) : h2d.Sprite;
+	public var maskVisible(default, set) : Bool;
 
 	function new(mask) {
 		super();
@@ -35,6 +37,11 @@ class AbstractMask extends Filter {
 		tmpMatrix = new h2d.col.Matrix();
 	}
 
+	function set_maskVisible(b) {
+		hide.maskVisible = b;
+		return maskVisible = b;
+	}
+
 	override function bind(s:Sprite) {
 		bindCount++;
 		if( bindCount == 1 )

+ 2 - 1
h2d/filter/Mask.hx

@@ -25,9 +25,10 @@ class Mask extends AbstractMask {
 
 	var pass : h3d.pass.ScreenFx<MaskShader>;
 
-	public function new(mask) {
+	public function new(mask, maskVisible=false) {
 		super(mask);
 		pass = new h3d.pass.ScreenFx(new MaskShader());
+		this.maskVisible = maskVisible;
 	}
 
 	override function draw( ctx : RenderContext, t : h2d.Tile ) {