как избавиться от подергиваний при движении в одну сторону?

Код AS3:
import flash.events.KeyboardEvent;
import flash.events.Event;
var pos:int;
var movie:Boolean;
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyd);
stage.addEventListener(KeyboardEvent.KEY_UP,keyu);
function keyd(e:KeyboardEvent):void
{
if(pos==0)
switch(e.keyCode)
{
case 37:
movie=true;
pos=1;
break;
case 38:
movie=true;
pos=2;
break;
case 39:
movie=true;
pos=3;
break;
case 40:
movie=true;
pos=4;
break;
}
}
function keyu(e:KeyboardEvent):void
{
movie=false;
}
var pix:int;
this.addEventListener(Event.ENTER_FRAME,ef);
function ef(e:Event):void
{
if(pos==1&&pix<32)
{
hero.x-=4;
pix+=4;
}else
if(pos==2&&pix<32)
{
hero.y-=4;
pix+=4;
}else
if(pos==3&&pix<32)
{
hero.x+=4;
pix+=4;
}else
if(pos==4&&pix<32)
{
hero.y+=4;
pix+=4;
}else
{
pos=0;
if(movie)
pix=0;
}
}