Created
December 14, 2012 05:57
-
-
Save brodavi/4283002 to your computer and use it in GitHub Desktop.
Attempt at simple Haxe painting.. but..
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package; | |
import nme.Lib; | |
import nme.display.Bitmap; | |
import nme.display.BitmapData; | |
import nme.display.Sprite; | |
import nme.events.MouseEvent; | |
class TestScene extends Sprite | |
{ | |
private var _mouseDown:Bool; | |
private var _lastX:Float; | |
private var _lastY:Float; | |
private var _sketch:Sprite; | |
private var _sketcharea:Bitmap; | |
private var _screenW:Float; | |
private var _screenH:Float; | |
private var _color:Int; | |
private var _lineDiameter:Float; | |
public function new () | |
{ | |
super (); | |
_mouseDown = false; | |
_lastX = 0.0; | |
_lastY = 0.0; | |
_screenW = Lib.current.stage.stageWidth; | |
_screenH = Lib.current.stage.stageHeight; | |
_color = 0x00ff00; | |
_lineDiameter = _screenW*0.007; | |
_sketch = new Sprite(); | |
_sketch.cacheAsBitmap = true; | |
_sketcharea = new Bitmap(new BitmapData(Std.int(_screenW*0.7), Std.int(_screenH*0.9), true)); | |
_sketcharea.alpha = 0; | |
_sketch.addChild(_sketcharea); | |
_sketch.graphics.beginFill(0x222222); | |
_sketch.graphics.drawRect(0,0,_sketch.width,_sketch.height); | |
_sketch.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown); | |
_sketch.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp); | |
_sketch.addEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove); | |
_sketch.addEventListener(MouseEvent.MOUSE_OUT, handleMouseOut); | |
resize(); | |
addChild(_sketch); | |
} | |
private function resize() | |
{ | |
_screenW = Lib.current.stage.stageWidth; | |
_screenH = Lib.current.stage.stageHeight; | |
_sketch.width = _screenW * 0.7; | |
_sketch.height = _screenH * 0.7; | |
_sketch.x = _screenW * 0.5 - _sketch.width*0.5; | |
_sketch.y = _screenH * 0.5 - _sketch.height*0.5; | |
} | |
private function handleMouseDown(e) | |
{ | |
_mouseDown = true; | |
_lastX = e.localX; | |
_lastY = e.localY; | |
_sketch.graphics.lineStyle(_lineDiameter, _color); | |
} | |
private function handleMouseUp(e) | |
{ | |
_mouseDown = false; | |
} | |
private function handleMouseOut(e) | |
{ | |
_mouseDown = false; | |
} | |
private function handleMouseMove(e) | |
{ | |
if (!_mouseDown) return; | |
_sketch.graphics.moveTo(_lastX, _lastY); | |
_sketch.graphics.lineTo(e.localX, e.localY); | |
_lastX = e.localX; | |
_lastY = e.localY; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment