Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.05.2011, 01:25
Ossikuro вне форума Посмотреть профиль Отправить личное сообщение для Ossikuro Найти все сообщения от Ossikuro
  № 1  
Ответить с цитированием
Ossikuro
 
Аватар для Ossikuro

Регистрация: Feb 2009
Сообщений: 66
По умолчанию плавное изменение координаты объекта

Здравствуйте, столкнулась с таким вопросом:
Есть сцена, внутри которой на 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);
 
}

Создать новую тему   Часовой пояс GMT +4, время: 11:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.