flash on 2012-7-9
♥0 |
Line 71 |
Modified 2012-07-09 17:23:46 |
MIT License
archived:2017-03-30 23:00:48
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ydsC
*/
package {
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Graphics;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public var gridw:Number = 64;
public var gridh:Number = 48;
public var worldw:Number = Math.floor(500 / gridw);
public var worldh:Number = Math.floor(400 / gridh);
public var sel:Sprite;
public var vecGrid:Vector.<int>;
public var ship:Sprite;
public var destx:Number = 0;
public var desty:Number = 0;
public function FlashTest() {
// write as3 code here..
var num:int;
num = worldw * worldh;
vecGrid = new Vector.<int>(num, false);
var g:Graphics;
sel = new Sprite();
g = sel.graphics;
g.clear();
g.lineStyle(3,0xFF0000);
g.drawRect(0,0,gridw,gridh);
ship = new Sprite();
g = ship.graphics;
g.clear();
g.lineStyle(2, 0x0000FF);
g.drawEllipse(0, 0,gridw,gridh);
graphics.clear();
graphics.lineStyle(1,0);
var i:int;
var k:int;
for (i = 0; i < worldh; i++)
{
for (k =0; k < worldw; k++)
{
graphics.drawRect(k*gridw,i*gridh,gridw,gridh);
}//nextk
}//nexti
addChild(sel);
addChild(ship);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
stage.addEventListener(MouseEvent.CLICK, onClick);
}//ctor
public function placeSel(sx:int, sy:int):Boolean
{
if (sx < 0) { return false; }
if (sy < 0) { return false; }
if (sx >= worldw) { return false; }
if (sy >= worldh) { return false; }
sel.x = sx * gridw;
sel.y = sy * gridh;
return true;
}//placesel
public function onClick(e:MouseEvent):void
{
destx = sel.x;
desty = sel.y;
}//onclick
public function onEnter(e:Event):void
{
var mx:Number = Math.floor(stage.mouseX / gridw);
var my:Number = Math.floor(stage.mouseY / gridh);
sel.visible = placeSel(mx,my);
ship.x += (destx - ship.x) * 0.2;
ship.y += (desty - ship.y) * 0.2;
}//onenter
}//classend
}