flash on 2012-7-12
♥0 |
Line 64 |
Modified 2012-07-12 19:12:13 |
MIT License
archived:2017-03-30 23:00:40
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/qHj5
*/
package {
import flash.geom.Point;
import flash.utils.Proxy;
import flash.geom.Rectangle;
import flash.geom.Matrix;
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public var pic:Bitmap;
public var canvas:BitmapData;
public var block:BitmapData;
public function FlashTest() {
// write as3 code here..
canvas = new BitmapData(450,450,false,0);
pic = new Bitmap(canvas);
addChild(pic);
block = new BitmapData(64,64,false,0xFF0000);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var ang:Number = 0;
public var mat:Matrix = new Matrix();
public var xva:Matrix = new Matrix();
public var offx:Number = -32;
public var offy:Number = -32;
public var cx:Number = 150;
public var cy:Number = 150;
public var ax:Number = 32;
public var ay:Number = -4;
public function onEnter(e:Event):void
{
ang += 0.01;
canvas.lock();
canvas.fillRect(canvas.rect, 0);
mat.identity();
mat.translate(offx,offy);
mat.rotate(ang);
mat.translate(cx, cy);
canvas.draw(block, mat);
drawRect(canvas, 0x0000FF,cx-4,cy-4,8,8);
var kx:Number;
var ky:Number;
var mx:Number;
var my:Number;
mx = ax;
my = ay;
kx = Math.cos(ang) * mx + Math.sin(ang) * my;
ky = Math.sin(ang) * mx - Math.cos(ang) * my;
//kx -= offx;
// ky -= offy;
kx += cx;
ky += cy;
drawRect(canvas, 0x00FF00, kx-4,ky-4,8,8);
canvas.unlock();
}//onenter
public var rect:Rectangle = new Rectangle();
public function drawRect(to:BitmapData, c:uint, dx:Number, dy:Number, dw:Number, dh:Number):void
{
rect.x = dx;
rect.y = dy;
rect.width = dw;
rect.height = dh;
to.fillRect(rect,c);
}//drawrect
}//classend
}