forked from: Paint - 手ぶれ補正機能追加版
forked from forked from: Paint (diff: 24)
forked from: Paint - 手ぶれ補正機能追加 @author tkinjo
ActionScript3 source code
/**
* Copyright tkinjo ( http://wonderfl.net/user/tkinjo )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/8anO
*/
// forked from tkinjo's forked from: Paint
// forked from tkinjo's Paint
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Matrix;
import flash.geom.Point;
[SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="60")]
/**
* forked from: Paint - 手ぶれ補正機能追加
* @author tkinjo
*/
public class Main extends Sprite
{
private const FRICTION:Number = 0.1;
private var stabilizer:Point = new Point();
private var mouseDown:Boolean;
public function Main()
{
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function mouseDownHandler( event:MouseEvent ):void {
mouseDown = true;
graphics.lineStyle( 10 );
stabilizer.x = event.stageX;
stabilizer.y = event.stageY;
graphics.moveTo( stabilizer.x, stabilizer.y );
}
private function enterFrameHandler( event:Event ):void {
if ( !mouseDown )
return;
stabilizer.x += ( stage.mouseX - stabilizer.x ) * FRICTION;
stabilizer.y += ( stage.mouseY - stabilizer.y ) * FRICTION;
graphics.lineTo( stabilizer.x, stabilizer.y );
}
private function mouseUpHandler( event:MouseEvent ):void {
mouseDown = false;
graphics.lineStyle();
}
}
}