# From kirupa blog: Detecting Direction of Mouse Movement in AS 3

**URL:** <https://forum.kirupa.com/t/from-kirupa-blog-detecting-direction-of-mouse-movement-in-as-3/281322>\
**Category:** Uncategorized\
**Created:** [February 7, 2009, 2:17pm UTC](https://forum.kirupa.com/t/from-kirupa-blog-detecting-direction-of-mouse-movement-in-as-3/281322 "2009-02-07T14:17:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![smallDot](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@smallDot](https://forum.kirupa.com/u/smallDot)\
**Post date:** [February 7, 2009, 2:17pm UTC](https://forum.kirupa.com/t/from-kirupa-blog-detecting-direction-of-mouse-movement-in-as-3/281322/1 "2009-02-07T14:17:33Z")

</div>

i tried to rewrite the code there, so i will understand it better.  
i did understand it, but there is error in the code i wrote, i could not find.

```auto

function Start() {
    stage.addEventListener(MouseEvent.MOUSE_MOVE, CheckDirection);
}

Start();

var prevX = 0;
var prevY = 0;
var curX = 0;
var curY = 0;

var dirX:String = "";
var dirY:String = "";

/*function CheckDirection(e:MouseEvent){
trace("Mouse Movement: " + getHorDirection())
e.updateAfterEvent();
}*/

function CheckDirection(e:MouseEvent) {
    trace("X movement: " + GetHorizontalDirection(), + ", Y movement: " + GetVerticalDirection());
    e.updateAfterEvent();
}

function GetHorizontalDirection():String {
prevX = curX;
curX = stage.mouseX;
if (prevX > curX) {
dirX = "left";
} else if (prevX < curX) {
dirX = "right";
} else {
dirX = "none";
}
return dirX;
}

function GetVerticalDirection():String {
prevY = curY;
curY = stage.mouseY;
if (prevY > curY) {
dirY = "up";
} else if (prevY < curY) {
dirY = "down";
} else {
dirY = "none";
}
return dirY;
}

```

what is wrong with this code
