Advertisement
Guest User

vignette example

a guest
Nov 2nd, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 1.00 KB | None | 0 0
  1. package;
  2.  
  3. import flixel.FlxCamera;
  4. import flixel.FlxSprite;
  5. import flixel.system.FlxAssets.FlxGraphicAsset;
  6. import flixel.util.FlxColor;
  7.  
  8. /**
  9.  * ...
  10.  * @author
  11.  */
  12. class Vignette extends FlxSprite
  13. {
  14.     var _cam : FlxCamera;
  15.  
  16.     public function new(c:FlxCamera, maxAlpha : Float = 0.45, rangescale : Float = 0.9, exponent : Float = 2)
  17.     {
  18.         super();
  19.        
  20.         _cam = c;
  21.        
  22.         this.makeGraphic(_cam.width, _cam.height, FlxColor.BLACK, true);
  23.         var distmax = Math.sqrt(this.width * this.width / 4 + this.height * this.height / 4);
  24.         for (i in 0... Std.int(this.width))
  25.         {
  26.             for (j in 0... Std.int(this.height))
  27.             {
  28.                 var dx = this.width / 2 - i;
  29.                 var dy = this.height / 2 - j;
  30.                 var dist = dx * dx + dy * dy;
  31.                 var a = Math.pow(dist / distmax / distmax / rangescale / rangescale, exponent);
  32.                 a = Math.min(a, 1);
  33.                
  34.                 this.pixels.setPixel32(i, j, FlxColor.fromRGBFloat(0, 0, 0, a));
  35.             }
  36.         }
  37.         this.cameras = [_cam];
  38.         this.scrollFactor.set();
  39.         this.alpha = maxAlpha;
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement