flash on 2012-11-14
[SWF(frameRate = 60, width = 800, height = 600)]
♥0 |
Line 109 |
Modified 2012-11-14 02:43:25 |
MIT License
archived:2017-03-30 08:29:35
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/ziTZ
*/
package
{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
[SWF(frameRate = 60, width = 800, height = 600)]
public class Main extends Sprite
{
internal var projSprite :Projectile = new Projectile(stage);
public function Main()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
_init();
}
public function _init() :void
{
addChild(projSprite);
graphics.clear();
graphics.lineStyle(1, 0, 0.75);
graphics.drawRect(0, 0, 799, 599);
}
}
}
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
class Projectile extends Sprite
{
protected var _s:Stage;
protected var _x:Number;
protected var _y:Number;
protected var _w:Number;
protected var _h:Number;
protected var _a:Number;
protected var _c:Number;
public function Projectile($s:Stage, $x:Number = (400 - 7 / 2), $y:Number = (300 - 7 / 2), $w:Number = 7, $h:Number = 7, $a:Number = 0.5, $c:Number = 0)
{
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
_s = $s;
_x = $x;
_y = $y;
_w = $w;
_h = $h;
_a = $a;
_c = $c;
_init();
}
public function _init() :void
{
graphics.clear ();
graphics.beginFill (_c, _a);
graphics.drawRoundRect (_x, _y, _w, _h, 4);
graphics.endFill ();
}
internal var $dest: Point;
internal var $vel: Point;
public function traverseStage() :void
{
$vel = new Point(($dest.x - x), ($dest.y - y));
x += ($vel.x / 12);
y += ($vel.y / 12);
if ($vel.x && $vel.y == 0)
{ removeEventListener(Event.ENTER_FRAME, onEnterFrame) }
}
public function addedToStage($e:Event) :void
{
_s.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
public function onMouseDown($e:MouseEvent) :void
{
_s.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
$dest = new Point(($e.stageX - (width / 2)), ($e.stageY - (height / 2)));
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onMouseUp($e:MouseEvent) :void
{
_s.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
public function onEnterFrame($e:Event) :void
{
traverseStage();
}
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 override function get alpha() :Number
{ return _a }
public function get color() :Number
{ return _c }
public override function set x($value:Number) :void
{ _x = $value; _init(); }
public override function set y($value:Number) :void
{ _y = $value; _init(); }
public override function set width($value:Number) :void
{ _w = $value; _init(); }
public override function set height($value:Number) :void
{ _h = $value; _init(); }
public override function set alpha($value:Number) :void
{ _a = $value; _init(); }
public function set color($value:Number) :void
{ _c = $value; _init(); }
}