flash on 2013-10-31
[SWF(width='465', height='465', backgroundColor='#dddddd')]
♥0 |
Line 206 |
Modified 2013-10-31 09:21:20 |
MIT License
archived:2017-03-20 11:43:28
ActionScript3 source code
/**
* Copyright hemingway ( http://wonderfl.net/user/hemingway )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/z3F3
*/
package
{
import flash.display.Sprite;
import flash.events.Event;
[SWF(frameRate=60, width=465, height=465)]
public class Main extends Sprite
{
protected var dataField :DataField;
internal var panelA :Panel;
internal var buttonA :Button;
public function Main()
{
graphics.clear();
graphics.beginFill(0xDDDDDD);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
graphics.endFill();
dataField = new DataField("-");
panelA = new Panel();
buttonA = new Button();
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
private function addedToStage($e:*) :void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
addChild(panelA);
panelA.addChild(buttonA);
addChild(dataField);
init();
}
private function init() :void
{
Util.centerSprite(panelA);
Util.centerSprite(buttonA);
//dataField.text = "";
}
}
}
import flash.display.Sprite;
import flash.events.*;
import flash.text.*;
class Util
{
public static function centerSprite($obj:Object) :void
{
var $parent :Object = $obj.parent;
$obj.x = (($parent.width/2) - ($obj.width/2));
$obj.y = (($parent.height/2) - ($obj.height/2));
}
}
class Panel extends Sprite
{
protected var _x :Number;
protected var _y :Number;
protected var _w :Number;
protected var _h :Number;
protected var _c :Number;
protected var _a :Number;
public function Panel($x:Number = 0, $y:Number = 0, $w:Number = 400, $h:Number = 300, $c:Number = 0xAAAAAA, $a:Number = 1)
{
_x = $x;
_y = $y;
_w = $w;
_h = $h;
_c = $c;
_a = $a;
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
private function addedToStage($e:*) :void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
init();
}
private function init() :void
{
graphics.clear();
graphics.beginFill(color, alpha);
graphics.drawRoundRect(x, y, width, height, 16, 16);
graphics.endFill();
}
public override function get x() :Number
{ return _x }
public override function get y() :Number
{ return _y }
public override function get width() :Number
{ return _w }
public override function get height() :Number
{ return _h }
public function get color() :Number
{ return _c }
public override function get alpha() :Number
{ return _a }
public override function set x($:Number) :void
{ _x = $; init() }
public override function set y($:Number) :void
{ _y = $; init() }
public override function set width($:Number) :void
{ _w = $; init() }
public override function set height($:Number) :void
{ _h = $; init() }
public function set color($:Number) :void
{ _c = $; init() }
public override function set alpha($:Number) :void
{ _a = $; init() }
}
class Button extends Sprite
{
protected var _x :Number;
protected var _y :Number;
protected var _w :Number;
protected var _h :Number;
protected var _c :Number;
protected var _a :Number;
public function Button($x:Number = 0, $y:Number = 0, $w:Number = 100, $h:Number = 30, $c:Number = 0xCCCCCC, $a:Number = 1)
{
_x = $x;
_y = $y;
_w = $w;
_h = $h;
_c = $c;
_a = $a;
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
private function addedToStage($e:*) :void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
init();
addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
private function init() :void
{
graphics.clear();
graphics.beginFill(color, alpha);
graphics.drawRoundRect(x, y, width, height, 8, 8);
graphics.endFill();
}
private function mouseOver($e:MouseEvent) :void
{ color ^= (color/4) }
private function mouseOut($e:MouseEvent) :void
{ color = 0xCCCCCC }
private function mouseDown($e:MouseEvent) :void
{}
private function mouseUp($e:MouseEvent) :void
{}
public override function get x() :Number
{ return _x }
public override function get y() :Number
{ return _y }
public override function get width() :Number
{ return _w }
public override function get height() :Number
{ return _h }
public function get color() :Number
{ return _c }
public override function get alpha() :Number
{ return _a }
public override function set x($:Number) :void
{ _x = (parent.x + $); init() }
public override function set y($:Number) :void
{ _y = (parent.y + $); init() }
public override function set width($:Number) :void
{ _w = $; init() }
public override function set height($:Number) :void
{ _h = $; init() }
public function set color($:Number) :void
{ _c = $; init() }
public override function set alpha($:Number) :void
{ _a = $; init() }
}
class DataField extends TextField
{
protected var _x :Number;
protected var _y :Number;
protected var _font :String;
protected var _data :String;
public function DataField($data:String = "", $x:Number = 4, $y:Number = 2, $font:String = "Consolas")
{
_x = $x;
_y = $y;
_font = $font;
_data = $data;
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
private function addedToStage($e:*) :void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
multiline = true;
autoSize = "left";
selectable = false;
init();
}
private function init() :void
{
x = _x;
y = _y;
text = _data;
setTextFormat(new TextFormat(font, null, 0));
}
public function get font() :String
{ return _font }
public function set font($:String) :void
{ _font = $; setTextFormat(new TextFormat(font, null, 0)) }
public override function set text($:String) :void
{ super.text = $; setTextFormat(new TextFormat(font, null, 0)) }
}