Mouse move relative event for Flash and HTML5
This commit is contained in:
committed by
Joshua Granick
parent
6d0f726574
commit
629c14c9e6
@@ -25,6 +25,8 @@ import lime.ui.Window;
|
||||
class FlashApplication {
|
||||
|
||||
|
||||
private var cacheMouseX:Float;
|
||||
private var cacheMouseY:Float;
|
||||
private var cacheTime:Int;
|
||||
private var currentTouches = new Map<Int, Touch> ();
|
||||
private var mouseLeft:Bool;
|
||||
@@ -38,6 +40,9 @@ class FlashApplication {
|
||||
|
||||
Lib.current.stage.frameRate = 60;
|
||||
|
||||
cacheMouseX = 0;
|
||||
cacheMouseY = 0;
|
||||
|
||||
AudioManager.init ();
|
||||
|
||||
}
|
||||
@@ -247,8 +252,15 @@ class FlashApplication {
|
||||
|
||||
}
|
||||
|
||||
parent.window.onMouseMove.dispatch (event.stageX, event.stageY);
|
||||
|
||||
var mouseX = event.stageX;
|
||||
var mouseY = event.stageY;
|
||||
|
||||
parent.window.onMouseMove.dispatch (mouseX, y);
|
||||
parent.window.onMouseMoveRelative.dispatch (mouseX - cacheMouseX, mouseY - cacheMouseY);
|
||||
|
||||
cacheMouseX = mouseX;
|
||||
cacheMouseY = mouseY;
|
||||
|
||||
case "mouseUp", "middleMouseUp", "rightMouseUp":
|
||||
|
||||
parent.window.onMouseUp.dispatch (event.stageX, event.stageY, button);
|
||||
|
||||
@@ -49,10 +49,10 @@ class HTML5Window {
|
||||
public var stats:Dynamic;
|
||||
#end
|
||||
|
||||
private var cacheMouseX:Float;
|
||||
private var cacheMouseY:Float;
|
||||
private var currentTouches = new Map<Int, Touch> ();
|
||||
private var enableTextEvents:Bool;
|
||||
private var lastMouseX:Float;
|
||||
private var lastMouseY:Float;
|
||||
private var parent:Window;
|
||||
private var primaryTouch:Touch;
|
||||
private var setHeight:Int;
|
||||
@@ -70,6 +70,9 @@ class HTML5Window {
|
||||
|
||||
}
|
||||
|
||||
cacheMouseX = 0;
|
||||
cacheMouseY = 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -343,9 +346,10 @@ class HTML5Window {
|
||||
|
||||
case "mousemove":
|
||||
|
||||
if (x != lastMouseX || y != lastMouseY) {
|
||||
if (x != cacheMouseX || y != cacheMouseY) {
|
||||
|
||||
parent.onMouseMove.dispatch (x, y);
|
||||
parent.onMouseMoveRelative.dispatch (x - cacheMouseX, y - cacheMouseY);
|
||||
|
||||
}
|
||||
|
||||
@@ -353,8 +357,8 @@ class HTML5Window {
|
||||
|
||||
}
|
||||
|
||||
lastMouseX = x;
|
||||
lastMouseY = y;
|
||||
cacheMouseX = x;
|
||||
cacheMouseY = y;
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user