Actionscript Code:
var lastX:Number = NaN;
var lastY:Number = NaN;
var speed:Number;
addEventListener(Event.ENTER_FRAME, calculateMouseSpeed);
function calculateMouseSpeed(e:Event) {
if (isNaN(lastX) || isNaN(lastY)) {
lastX = stage.mouseX;
lastY = stage.mouseY;
return;
}
var xDiff:Number = stage.mouseX - lastX;
var yDiff:Number = stage.mouseY - lastY;
speed = Math.sqrt(xDiff*xDiff + yDiff*yDiff);
lastX = stage.mouseX;
lastY = stage.mouseY;
}
var lastSpeed:Number = 0;
var hasGoneLeft:Boolean = false;
var hasGoneRight:Boolean = false;
var xDiff:Number = stage.mouseX - lastX;
addEventListener(Event.ENTER_FRAME, calculateMouseDirection);
function calculateMouseDirection(e:Event) {
if (xDiff < 0) {
hasGoneLeft = true;
trace("has gone left is true");
}
if (hasGoneLeft && xDiff > 0) {
hasGoneRight = true;
trace("has gone right is true");
}
}
if (hasGoneLeft && hasGoneRight && (speed > lastSpeed)) {
score++;
trace("add +1 to current score");
}