thousands-state-46635
08/07/2022, 1:57 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;
var brushLayer:Shape;
public function new()
{
super();
init();
addEventListeners();
}
private function onUpdate(ev:Event) {
}
private function onMouseDown(ev:MouseEvent) {
downMousePos = new Point(ev.localX, ev.localY);
brushLayer.graphics.moveTo(downMousePos.x, downMousePos.y);
brushLayer.graphics.lineStyle(3, 0xFF000000, 1, false, NORMAL, null, null, 3);
}
private function onMouseMove(ev:MouseEvent) {
if (downMousePos == null) return;
brushLayer.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();
addChild(canvas);
canvas.graphics.drawRect(0, 0, width, height);
brushLayer = new Shape();
addChild(brushLayer);
}
private function addEventListeners() {
addEventListener(Event.ENTER_FRAME, onUpdate);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
}