/**
* Copyright WLAD ( http://wonderfl.net/user/WLAD )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/61Ow
*/
package {import flash.display.Sprite;import flash.events.Event;[SWF(backgroundColor=0x84B7EE, width=465, height=456, frameRate=30)]public class FakeStage extends Sprite {
public var bgColor:uint = 0x333333;
public function FakeStage() {stage ? init() : addEventListener(Event.ADDED_TO_STAGE,init);} private function init(e:Event = null):void {removeEventListener(Event.ADDED_TO_STAGE,init);fillBg();addChild(new Main());stage.addEventListener(Event.RESIZE,fillBg);}private function fillBg(e:Event=null):void{graphics.clear();graphics.beginFill(bgColor);graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);graphics.endFill();}}}
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.display.*;
import flash.events.Event;
import flash.utils.getTimer;
import flash.geom.ColorTransform;
import net.hires.debug.Stats;
import com.bit101.components.*;
class Main extends Sprite
{
//http://blog.leeburrows.com/2010/09/bitmapdata-basics-1/
private var cont:Sprite;
private var stats:Stats;
private var settings:Settings;
public function Main()
{
//Ignore this.
addEventListener(Event.ADDED_TO_STAGE,init);} private function init(e:Event):void {removeEventListener(Event.ADDED_TO_STAGE,init);
//Set FPS
stage.frameRate = 30;
//Init button, stats and container.
initObjs();
//Init BITMAP stuff
initBitmap();
//Main loop
addEventListener(Event.ENTER_FRAME,function(e:Event):void
{
drawBitmap();
});
}
private function initObjs():void
{
cont = new Sprite();
addChild(cont);
settings = new Settings();
settings.y = 465 - settings.height;
new PushButton(this, 0,0, "+",function(e:Event):void
{
addChild(settings);
}).width = 30;
stats = new Stats();
addChild( stats ).x = 400;
}
private var px:Number,py:Number,sz:Number = 10;
private var g:Graphics;
private function drawGraphics():void
{
px = mouseX - sz * 3;
py = mouseY - sz * 3;
g = drawMe.graphics;
g.clear();
g.beginFill( 0xFF0000 ); g.drawRect(px - sz * ( 1.5 ),py - sz * ( 1.5 ),sz,sz); g.endFill();
g.beginFill( 0x00FF00 ); g.drawRect(px - sz * ( .5 ),py - sz * ( 1.5 ),sz,sz); g.endFill();
g.beginFill( 0x0000FF ); g.drawRect(px - sz * ( -.5 ),py - sz * ( 1.5 ),sz,sz); g.endFill();
g.beginFill( 0xFFFF00 ); g.drawRect(px - sz * ( 1.5 ),py - sz * ( .5 ),sz,sz); g.endFill();
g.beginFill( 0x00FFFF ); g.drawRect(px - sz * ( .5 ),py - sz * ( .5 ),sz,sz); g.endFill();
g.beginFill( 0xFF00FF ); g.drawRect(px - sz * ( -.5 ),py - sz * ( .5 ),sz,sz); g.endFill();
g.beginFill( Math.random() * 0xFFFFFF );
g.drawRect(px - sz * ( 1.5 ),py - sz * ( -.5 ),sz * 3,sz);
g.endFill();
}
public var bmp:Bitmap;
public var bmpdata:BitmapData;
public var drawMe:Sprite;
private function initBitmap():void
{
bmpdata = new BitmapData(465, 465);
bmp = new Bitmap(bmpdata);
cont.addChild(bmp);
drawMe = new Sprite();
}
private function drawBitmap():void
{
drawGraphics();
var result:Sprite = new Sprite();
result.addChild(bmp);
bmp.transform.colorTransform = new ColorTransform(
Vars.redMulti,
Vars.greenMulti,
Vars.blueMulti,
Vars.alphaMulti,
Vars.redOffset,
Vars.greenOffset,
Vars.blueOffset,
Vars.alphaOffset
);
result.addChild(drawMe);
bmpdata.draw(result);
cont.addChild(bmp);
bmp.transform.colorTransform = new ColorTransform();
}
}
class Vars
{
public static var redOffset :Number = 0.01;
public static var greenOffset :Number = 0.00;
public static var blueOffset :Number = 0.00;
public static var alphaOffset :Number = 0.00;
public static var redMulti :Number = 0.99;
public static var greenMulti :Number = 0.99;
public static var blueMulti :Number = 0.99;
public static var alphaMulti :Number = 1.00;
public static const UIMaxValue:Number = 2;
}
///Change style
Style.BACKGROUND = 0x444444;
Style.BUTTON_FACE = 0x666666;
Style.INPUT_TEXT = 0xBBBBBB;
Style.LABEL_TEXT = 0xCCCCCC;
Style.PANEL = 0x666666;
Style.PROGRESS_BAR = 0x666666;
class Settings extends Window
{
public function Settings()
{
super(null,0,0,"Settings");
hasCloseButton = true;
hasMinimizeButton = false;
width = 465;
height = 120;
draggable = false;
initComps();
}
private function initComps():void
{
var px:Number = 5,py:Number = 5;
var h:HUISlider = new HUISlider(content,px,py,"Red Offset",function(e:Event):void
{
Vars.redOffset = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.redOffset;
py += h.height + 5;
h = new HUISlider(content,px,py,"Green Offset",function(e:Event):void
{
Vars.greenOffset = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.greenOffset;
py += h.height + 5;
h = new HUISlider(content,px,py,"Blue Offset",function(e:Event):void
{
Vars.blueOffset = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.blueOffset;
py += h.height + 5;
h = new HUISlider(content,px,py,"Alpha Offset",function(e:Event):void
{
Vars.alphaOffset = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.alphaOffset;
px += h.width + 5;
py = 5;
h = new HUISlider(content,px,py,"Red Multiplier",function(e:Event):void
{
Vars.redMulti = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.redMulti;
py += h.height + 5;
h = new HUISlider(content,px,py,"Green Multiplier",function(e:Event):void
{
Vars.greenMulti = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.greenMulti;
py += h.height + 5;
h = new HUISlider(content,px,py,"Blue Multiplier",function(e:Event):void
{
Vars.blueMulti = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.blueMulti;
py += h.height + 5;
//
h = new HUISlider(content,px,py,"Alpha Multiplier",function(e:Event):void
{
Vars.alphaMulti = (e.target as HUISlider).value;
}); h.labelPrecision = 2; h.tick = 0.01; h.minimum = 0; h.maximum = Vars.UIMaxValue; h.value = Vars.alphaMulti;
}
override protected function onClose(e:MouseEvent):void
{
parent.removeChild(this);
}
}