flash on 2014-11-27
♥0 |
Line 65 |
Modified 2014-11-27 05:14:18 |
MIT License
archived:2017-03-20 11:42:27
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/2rg4
*/
package {
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.MouseEvent;
[SWF(frameRate=60, width=465, height=465)]
public class BIG extends Sprite {
private var _canvas:Bitmap;
private var _canvasData:BitmapData;
private var _points:Vector.<Vector.<int>>;
private var _pointA:Vector.<int>;
private var _pointB:Vector.<int>;
private var _camera:Vector.<int>;
private var _mouse:Boolean;
private var _mousePos:Vector.<int>;
public function BIG() {
this._canvasData = new BitmapData(465, 465, false, 0);
this._canvas = new Bitmap(this._canvasData);
this._points = new Vector.<Vector.<int>>;
this._points[0] = new <int> [232, 232, 2];
this._points[1] = new <int> [232, 232, 15];
this._camera = new Vector.<int>(3, true);
this._camera[0] =232;
this._camera[1] =232;
this._camera[2] = 1;
this._mouse = false;
this._mousePos = new Vector.<int>(4, true);
this.addEventListener(Event.ADDED_TO_STAGE, this.addedToStageHandler);
}
private function addedToStageHandler($event:Event) :void {
this.removeEventListener(Event.ADDED_TO_STAGE, this.addedToStageHandler);
this.addChild(this._canvas);
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDownHandler);
this.stage.addEventListener(MouseEvent.MOUSE_UP, this.mouseUpHandler);
this.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
}
private function mouseDownHandler($event:MouseEvent) :void {
this._mouse = true;
this._mousePos[0] = this.stage.mouseX;
this._mousePos[1] = this.stage.mouseY;
this._mousePos[2] = this._mousePos[3] = 0;
}
private function mouseUpHandler($event:MouseEvent) :void {
this._mouse = false;
}
private function enterFrameHandler($event:Event) :void {
this._mousePos[2] = this._mousePos[0];
this._mousePos[3] = this._mousePos[1];
this._mousePos[0] = this.stage.mouseX;
this._mousePos[1] = this.stage.mouseY;
if (this._mouse) {
this._camera[0] += (this._mousePos[0] - this._mousePos[2]);
this._camera[1] += (this._mousePos[1] - this._mousePos[3]);
//}else{
//this._camera[0] = 232;
//this._camera[1] = 232;
}
for (var $:int = 0; $ < this._points.length; $++) {
var $f:int = this._camera[2] - this._points[$][2];
this._canvasData.setPixel(this._points[$][0], this._points[$][1], 0);
this._points[$][0] = (this._points[$][0] * ($f / this._points[$][2]));
this._points[$][1] = (this._points[$][1] * ($f / this._points[$][2]));
this._canvasData.setPixel(this._points[$][0], this._points[$][1], 0xFFFFFF);
}
}
}
}