Здравствуйте, столкнулась с таким вопросом:
Есть сцена, внутри которой на 1 кадре лежит меню, которое выдвигается в 3 приема (закрыто, открыто наполовину, открыто полностью). Однако оно у меня не выдвигается плавно, а просто меняет координату, поэтому выглядит как скачки. Подскажите пожалуйста как реализовать плавное "выезжание" и обратное "возвращение" програмно?
Пока живу с таким кодом.

Код AS3:
//Слушаем события мыши
PAGE.PAGE_BKG.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
MENU.btn_up.addEventListener(MouseEvent.MOUSE_DOWN, StartMenuDrag);
MENU.btn_up.addEventListener(MouseEvent.MOUSE_UP, StoptMenuDrag);
MENU.btn_down.addEventListener(MouseEvent.MOUSE_DOWN, StartMenuDrag);
MENU.btn_down.addEventListener(MouseEvent.MOUSE_UP, StoptMenuDrag);
MENU.btn_up.addEventListener(MouseEvent.CLICK,upClick);
MENU.btn_down.addEventListener(MouseEvent.CLICK,downClick);
PAGE.addEventListener(MouseEvent.CLICK,stageClick);
function stageClick (e:MouseEvent):void {
MENU.y=1020;
closed = true;
half_opened = false;
opened = false;
MENU.btn_up.visible=true;
MENU.btn_up_un.visible=false;}
//события по верхней кнопке
function upClick (e:MouseEvent):void {
if (closed){
MENU.y=984;
closed = false;
half_opened = true;
opened = false;
MENU.btn_up.visible=true;
MENU.btn_up_un.visible=false;}
else if (half_opened){
MENU.y=788;
closed = false;
half_opened = false;
opened = true;
MENU.btn_up.visible=false;
MENU.btn_up_un.visible=true;}
else if (opened) {
closed = false;
half_opened = false;
opened = true;
MENU.btn_up.visible=false;
MENU.btn_up_un.visible=true;}
}
//события по нижней кнопке
function downClick (e:MouseEvent):void {
if (half_opened){
MENU.y=1020;
closed = true;
half_opened = false;
opened = false;
MENU.btn_up.visible=true;
MENU.btn_up_un.visible=false;}
else if (opened) {
MENU.y=984;
closed = false;
half_opened = true;
opened = false;
MENU.btn_up.visible=true;
MENU.btn_up_un.visible=false;}
else if (closed){
MENU.y=1020;
closed = true;
half_opened = false;
opened = false;
MENU.btn_up.visible=true;
MENU.btn_up_un.visible=false;}
}
//Выдвигаем меню
function StartMenuDrag(event:MouseEvent):void
{
MENU.startDrag(false, new Rectangle(0,1020,0,-235));
}
//Закончили двигать
function StoptMenuDrag(event:MouseEvent):void
{
MENU.stopDrag();
//var s:int = MENU.y;
//trace(s);
}