Проблема в том, что в первом примере ты двигаешь своего персонажа, а во втором двигаешь сцену.

Код AS3:
var cub:Movement = new Movement;
addChild(cub);
Ты добавляешь на сцену свой класс?

Код AS3:
package
{
import flash.display.MovieClip;
import flash.display.Stage;
public class Movement extends MovieClip
{
var cub:MovieClip;
var up:Boolean = false;
var down:Boolean = false;
var right:Boolean = false;
var left:Boolean = false;
var upS:Number = 1;
var downS:Number = 1;
var rightS:Number = 1;
var leftS:Number = 1;
public function Movement(c:MovieClip)
{
cub = c;
this.addEventListener(KeyboardEvent.KEY_DOWN, onKD);
this.addEventListener(KeyboardEvent.KEY_UP, onKU);
cub.addEventListener(Event.ENTER_FRAME, onMoveHero);
}
public function onKD(e:KeyboardEvent):void
{
if (e.keyCode == 37)
{
left = true;
trace("12312")
}
if (e.keyCode == 38)
{
up = true;
}
if (e.keyCode == 39)
{
right = true;
}
if (e.keyCode == 40)
{
down = true;
}
}
public function onKU(e:KeyboardEvent):void
{
if (e.keyCode == 37)
{
left = false;
}
if (e.keyCode == 38)
{
up = false;
}
if (e.keyCode == 39)
{
right = false;
}
if (e.keyCode == 40)
{
down = false;
}
}
public function onMoveHero(e:Event):void
{
if (left)
{
trace("left");
cub.x -= leftS;
leftS++;
}
else
{
cub.x -= leftS;
leftS *= .7;
}
if (up)
{
cub.y -= upS;
upS++;
}
else
{
cub.y -= upS;
upS *= .7;
}
if (right)
{
cub.x += rightS;
rightS++;
}
else
{
cub.x += rightS;
rightS *= .7;
}
if (down)
{
cub.y += downS;
downS++;
}
else
{
cub.y += downS;
downS *= .7;
}
}
}
}
/* В исходнике fla пишешь: var movement:Movement = new Movement(cub); //В качестве аргумента название твоего героя.
*/