вот написал код,который должен проверять столкновения героя и стены:

Код AS3:
var speedX:Number;
var speedY:Number;
var tgtX:Number;
var tgtY:Number;
var boxP:int;
trace("box1.x",box1.x,"box1.y",box1.y);
stage.addEventListener(Event.ENTER_FRAME, tgtYz);
function tgtYz(e:Event):void
{
if (boxP == 4)
{
tgtY = box.y - 3;
}
else if (boxP == 2)
{
tgtY = box.y + 3;
}
trace("tgtY",tgtY);
}
stage.addEventListener(Event.ENTER_FRAME, tgtXz);
function tgtXz(e:Event):void
{
if (boxP == 1)
{
tgtX = box.x + 3;
}
else if (boxP == 3)
{
tgtX = box.x - 3;
}
trace("tgtX",tgtX);
}
stage.addEventListener(Event.ENTER_FRAME, stolknovenie);
function stolknovenie(e:Event):void
{
if (tgtX == box1.x)
{
speedX = 0;
}
else
{
speedX = 3;
}
trace("speedX",speedX);
}
stage.addEventListener(Event.ENTER_FRAME, stolknovenie2);
function stolknovenie2(e:Event):void
{
if (tgtY == box1.y)
{
speedY = 0;
}
else
{
speedY = 3;
}
trace("speedY",speedY);
}
box.stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, moveF);
function moveF(e:KeyboardEvent):void
{
if (e.keyCode == Keyboard.UP)
{
box.y -= speedY;
box.gotoAndStop(4);
boxP = 4;
}
else if (e.keyCode == Keyboard.DOWN)
{
box.y += speedY;
box.gotoAndStop(2);
boxP = 2;
}
else if (e.keyCode == Keyboard.LEFT)
{
box.x -= speedX;
box.gotoAndStop(3);
boxP = 3;
}
else if (e.keyCode ==Keyboard.RIGHT)
{
box.x += speedX;
box.gotoAndStop(1);
boxP = 1;
}
trace("boxP",boxP);
}
все протрейсил все значения есть и работают, но почему-то это не действует. может кто найдет какую нибудь ошибку или еще что?
бокс-герой
бокс1-стена