Я пока только учусь. Написал код вертикального движения
одновременно нескольких объектов, которое происходит при нажатии на кнопки
"вверх" (btn1), и
"вниз" (btn2). Движение работает без проблем, но мне нужно, чтобы оно останавливалось, когда крайние объекты принимают значение
у=30. Вроде всё правильно написал, но остановки не происходит. Подскажите мне, пожалуйста, как исправить ошибку!
Вот полный код:

Код AS3:
var MousetopDown: Boolean;
var MouseonDown: Boolean;
addEventListener(MouseEvent.MOUSE_UP, topUp);
addEventListener(Event.ENTER_FRAME, topFrame);
addEventListener(MouseEvent.MOUSE_UP, onUp);
addEventListener(Event.ENTER_FRAME, onFrame);
btn1.addEventListener(MouseEvent.MOUSE_DOWN, topDown);
function topDown(e: MouseEvent): void
{
this.MousetopDown = true;
}
function topUp(e: MouseEvent): void
{
this.MousetopDown = false;
}
function topFrame(e: Event): void
{
if (this.MousetopDown)
{
img1.y += -5;
img2.y += -5;
img3.y += -5;
img4.y += -5;
img5.y += -5;
}
if (img5.y ==30)
{
MousetopDown = false;
}
}
btn2.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
function onDown(e: MouseEvent): void
{
this.MouseonDown = true;
}
function onUp(e: MouseEvent): void
{
this.MouseonDown = false;
}
function onFrame(e: Event): void
{
if (this.MouseonDown)
{
img1.y += 5;
img2.y += 5;
img3.y += 5;
img4.y += 5;
img5.y += 5;
}
if (img1.y ==30)
{
MouseonDown = false;
}
}