thousands-state-46635
08/07/2022, 1:42 PMhx
package;
import openfl.display.Shape;
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:Shape;
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);
canvas.graphics.moveTo(downMousePos.x, downMousePos.y);
}
private function onMouseMove(ev:MouseEvent) {
if (downMousePos == null) return;
canvas.graphics.lineTo(ev.localX, ev.localY);
downMousePos.setTo(ev.localX, ev.localY);
}
private function onMouseUp(ev:MouseEvent) {
downMousePos = null;
}
private function init() {
canvas = new Shape();
canvas.graphics.drawRect(0, 0, canvasWidth, canvasHeight);
canvas.graphics.lineStyle(3, brushColor, 1, false, NORMAL, null, null, 3);
addChild(canvas);
}
private function addEventListeners() {
addEventListener(Event.ENTER_FRAME, onUpdate);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
}