thousands-state-46635
08/07/2022, 9:53 AMhx
package;
import openfl.display.Graphics;
import openfl.geom.Point;
import openfl.events.Event;
import openfl.events.MouseEvent;
import openfl.display.BitmapData;
import openfl.display.Bitmap;
import openfl.display.Sprite;
class Main extends Sprite
{
var canvasWidth:Int = 400;
var canvasHeight:Int = 400;
var canvasColor:Int = 0xFFFFFFFF;
var canvas:Bitmap;
var brushColor:Int = 0xFF000000;
var downMousePos:Point;
var curMousePos:Point;
public function new()
{
super();
init();
addEventListeners();
}
private function onUpdate(ev:Event) {
}
private function onMouseDown(ev:MouseEvent) {
downMousePos = new Point(ev.localX, ev.localY);
graphics.moveTo(downMousePos.x, downMousePos.y);
}
private function onMouseMove(ev:MouseEvent) {
if (downMousePos == null) return;
graphics.lineTo(ev.localX, ev.localY);
downMousePos.setTo(ev.localX, ev.localY);
}
private function onMouseUp(ev:MouseEvent) {
downMousePos = null;
}
private function init() {
canvas = new Bitmap(new BitmapData(canvasWidth, canvasHeight, false, canvasColor));
addChild(canvas);
graphics.lineStyle(3, brushColor, 1, false, NORMAL, null, null, 3);
}
private function addEventListeners() {
addEventListener(Event.ENTER_FRAME, onUpdate);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
}