flash on 2014-11-16
♥0 |
Line 61 |
Modified 2014-11-16 20:12:57 |
MIT License
archived:2017-03-30 11:52:45
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/6kmt
*/
package {
import flash.ui.Keyboard;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
myCrate = new xCrate();
myCrate.cx = 230;
myCrate.cy = 160;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKdown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKup);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function onKdown(e:KeyboardEvent):void { vecKey[e.keyCode] = true; }
public function onKup(e:KeyboardEvent):void { vecKey[e.keyCode] = false; }
public var vecKey:Vector.<Boolean> = new Vector.<Boolean>(512,false);
public var cx:Number = 230;
public var cy:Number = 230;
public var vx:Number = 0;
public var vy:Number = 0;
public var myCrate:xCrate;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2,0);
var ms:Number;
ms = 3;
// vx = 0; vy = 0;
if (vecKey[Keyboard.UP]) { vy -= ms; }
if (vecKey[Keyboard.DOWN]) { vy += ms; }
if (vecKey[Keyboard.LEFT]) { vx -= ms; }
if (vecKey[Keyboard.RIGHT]) { vx += ms; }
cx+=vx; cy+=vy;
vx *= 0.7; vy *= 0.7;
graphics.drawCircle(cx,cy, 16);
var kx:Number; var ky:Number; var kr:Number; var cr:Number;
kx = cx; ky = cy; kr = 16; cr = 16;
if ((kx-kr > myCrate.cx+cr)==false)
if ((ky-kr > myCrate.cy+cr)==false)
if ((kx+kr < myCrate.cx-cr)==false)
if ((ky+kr < myCrate.cy-cr)==false)
{
myCrate.vx += vx;
myCrate.vy += vy;
vx =0; vy =0;
}//endif
myCrate.cx += myCrate.vx;
myCrate.cy += myCrate.vy;
myCrate.vx *= 0.6;
myCrate.vy *= 0.6;
graphics.drawRect(myCrate.cx-16,myCrate.cy-16,32,32);
}//onenter
}//classend
}
internal class xCrate
{
public var cx:Number = 0;
public var cy:Number = 0;
public var vx:Number = 0;
public var vy:Number = 0;
}//xcrate