Merge remote-tracking branch 'remotes/Albul/master'

This commit is contained in:
Yaski
2012-06-18 16:46:44 +06:00
2 changed files with 76 additions and 0 deletions

View File

@@ -295,6 +295,10 @@ package alternativa.engine3d.core {
// Listeners // Listeners
addEventListener(MouseEvent.MOUSE_DOWN, onMouse); addEventListener(MouseEvent.MOUSE_DOWN, onMouse);
addEventListener(MouseEvent.CLICK, onMouse); addEventListener(MouseEvent.CLICK, onMouse);
addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, onMouse);
addEventListener(MouseEvent.RIGHT_CLICK, onMouse);
addEventListener(MouseEvent.MIDDLE_MOUSE_DOWN, onMouse);
addEventListener(MouseEvent.MIDDLE_CLICK, onMouse);
addEventListener(MouseEvent.DOUBLE_CLICK, onMouse); addEventListener(MouseEvent.DOUBLE_CLICK, onMouse);
addEventListener(MouseEvent.MOUSE_MOVE, onMouse); addEventListener(MouseEvent.MOUSE_MOVE, onMouse);
addEventListener(MouseEvent.MOUSE_OVER, onMouse); addEventListener(MouseEvent.MOUSE_OVER, onMouse);
@@ -619,6 +623,42 @@ package alternativa.engine3d.core {
} }
pressedTarget = null; pressedTarget = null;
break; break;
case "middleMouseDown":
defineTarget(index);
if (target != null) {
propagateEvent(MouseEvent3D.MIDDLE_MOUSE_DOWN, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
}
pressedTarget = target;
break;
case "middleClick":
defineTarget(index);
if (target != null) {
propagateEvent(MouseEvent3D.MIDDLE_MOUSE_UP, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
if (pressedTarget == target) {
clickedTarget = target;
propagateEvent(MouseEvent3D.MIDDLE_CLICK, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
}
}
pressedTarget = null;
break;
case "rightMouseDown":
defineTarget(index);
if (target != null) {
propagateEvent(MouseEvent3D.RIGHT_MOUSE_DOWN, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
}
pressedTarget = target;
break;
case "rightClick":
defineTarget(index);
if (target != null) {
propagateEvent(MouseEvent3D.RIGHT_MOUSE_UP, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
if (pressedTarget == target) {
clickedTarget = target;
propagateEvent(MouseEvent3D.RIGHT_CLICK, mouseEvent, camera, target, targetSurface, branchToVector(target, branch));
}
}
pressedTarget = null;
break;
case "doubleClick": case "doubleClick":
defineTarget(index); defineTarget(index);
if (target != null) { if (target != null) {

View File

@@ -46,6 +46,42 @@ package alternativa.engine3d.core.events {
*/ */
public static const MOUSE_UP:String = "mouseUp3D"; public static const MOUSE_UP:String = "mouseUp3D";
/**
* Defines the value of the <code>type</code> property of a <code>rightClick3D</code> event object.
* @eventType rightClick3D
*/
public static const RIGHT_CLICK:String = "rightClick3D";
/**
* Defines the value of the <code>type</code> property of a <code>rightMouseDown3D</code> event object.
* @eventType rightMouseDown3D
*/
public static const RIGHT_MOUSE_DOWN:String = "rightMouseDown3D";
/**
* Defines the value of the <code>type</code> property of a <code>rightMouseUp3D</code> event object.
* @eventType rightMouseUp3D
*/
public static const RIGHT_MOUSE_UP:String = "rightMouseUp3D";
/**
* Defines the value of the <code>type</code> property of a <code>middleClick3D</code> event object.
* @eventType middleClick3D
*/
public static const MIDDLE_CLICK:String = "middleClick3D";
/**
* Defines the value of the <code>type</code> property of a <code>middleMouseDown3D</code> event object.
* @eventType middleMouseDown3D
*/
public static const MIDDLE_MOUSE_DOWN:String = "middleMouseDown3D";
/**
* Defines the value of the <code>type</code> property of a <code>middleMouseUp3D</code> event object.
* @eventType middleMouseUp3D
*/
public static const MIDDLE_MOUSE_UP:String = "middleMouseUp3D";
/** /**
* Defines the value of the <code>type</code> property of a <code>mouseOver3D</code> event object. * Defines the value of the <code>type</code> property of a <code>mouseOver3D</code> event object.
* @eventType mouseOver3D * @eventType mouseOver3D