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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.03.2010, 05:33
St.Shaeen вне форума Посмотреть профиль Отправить личное сообщение для St.Shaeen Найти все сообщения от St.Shaeen
  № 1  
Ответить с цитированием
St.Shaeen

Регистрация: Mar 2010
Сообщений: 11
Question проблемка с ROLL_OVER ROLL_OUT

Здравствуйте форумчане, только начинаю осваивать AS3 и вот возникла проблема. На страничке сайта имебтся три кнопки, каждая из которых анимируется при наведении на неё мыши, тоесть изменяет свой размер и положение на сцене с эфектом Elastic. При отводе от неё курсора она возвращается в первоначальное положение с тем же эффектом.

Кнопочки расположены рядом и при быстром перемещении курсора анимация то зависает, то изменяеться только один параметр, то вообще работает наоборот, вобщем начинает лагать.
у меня есть мысль что нужно перед действием, будь то ROLL_OVER или ROLL_OUT, останавливать предидущую анимацию, а вот как это сделать, пока понять не могу.
Кто что думает, помогите советом
Код AS3:
import fl.transitions.Tween;
 import fl.transitions.easing.*;
 
Content.forum_btn.buttonMode = true;
Content.news_btn.buttonMode = true;
Content.video_btn.buttonMode = true;
 
 
 
Content.forum_btn.addEventListener(MouseEvent.ROLL_OVER, forum_over);
 
function forum_over(e:MouseEvent):void {
 
	var myXTween:Tween = new Tween(Content.forum_btn, "x", Elastic.easeOut, Content.forum_btn.x, 22, 1, true);
	var myYTween:Tween = new Tween(Content.forum_btn, "y", Elastic.easeOut, Content.forum_btn.y, 252, 1, true);
	var myWidhtTween:Tween = new Tween(Content.forum_btn, "width", Elastic.easeOut, Content.forum_btn.width, 476, 1, true);
	var myHeighTween:Tween = new Tween(Content.forum_btn, "height", Elastic.easeOut, Content.forum_btn.height, 123, 1, true);
 
 
}
 
Content.forum_btn.addEventListener(MouseEvent.ROLL_OUT, forum_out);
 
function forum_out(e:MouseEvent):void {
 
	var myXTween:Tween = new Tween(Content.forum_btn, "x", Elastic.easeOut, Content.forum_btn.x, 136, 0.6, true);
	var myYTween:Tween = new Tween(Content.forum_btn, "y", Elastic.easeOut, Content.forum_btn.y, 322, 0.6, true);
	var myWidhtTween:Tween = new Tween(Content.forum_btn, "width", Elastic.easeOut, Content.forum_btn.width, 310, 0.6, true);
	var myHeighTween:Tween = new Tween(Content.forum_btn, "height", Elastic.easeOut, Content.forum_btn.height, 44, 0.6, true);
 
}

Старый 09.03.2010, 11:38
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 2  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Как вариант Tweenы сделать не локальными, а вынести их в свойства класса, тогда у вас появится доступ к ним из любого метода, а значит сможете в любой момент остановить или вовсе удалить.

Я бы вам порекомендовал всесто Tweenов использовать Tweener
__________________
O God! The Aftermath.

Старый 09.03.2010, 16:15
St.Shaeen вне форума Посмотреть профиль Отправить личное сообщение для St.Shaeen Найти все сообщения от St.Shaeen
  № 3  
Ответить с цитированием
St.Shaeen

Регистрация: Mar 2010
Сообщений: 11
Спасибо за совет!!Действительно, Twener_ом намного проще, вот только с его установкой что то непонятное..
И всё же хотелось бы решить проблемку с обычными Tween_ами

Старый 09.03.2010, 18:02
oleg_tomenko вне форума Посмотреть профиль Отправить личное сообщение для oleg_tomenko Найти все сообщения от oleg_tomenko
  № 4  
Ответить с цитированием
oleg_tomenko

Регистрация: Feb 2010
Адрес: Донецк
Сообщений: 34
Сделайте проще. В клипе кнопки три кадра — активный, при наведении и при нажатии. В соответствии с функцией переводите в нужный кадр, зачем вам эти твины?

Старый 09.03.2010, 23:12
St.Shaeen вне форума Посмотреть профиль Отправить личное сообщение для St.Shaeen Найти все сообщения от St.Shaeen
  № 5  
Ответить с цитированием
St.Shaeen

Регистрация: Mar 2010
Сообщений: 11
Цитата:
Сообщение от oleg_tomenko Посмотреть сообщение
Сделайте проще. В клипе кнопки три кадра — активный, при наведении и при нажатии. В соответствии с функцией переводите в нужный кадр, зачем вам эти твины?
Для того чтобы получить эффект Elastic.easeOut
да и для того чтобы укрепить свои знания в Action Script, так как я начинающий, мне это очень необходимо. Задумку конечно можно организовать с помощью анимации и скрипта goto and play и т.д. Но! см.выше. Лёгких путей пока не ищем

Старый 10.03.2010, 00:52
oleg_tomenko вне форума Посмотреть профиль Отправить личное сообщение для oleg_tomenko Найти все сообщения от oleg_tomenko
  № 6  
Ответить с цитированием
oleg_tomenko

Регистрация: Feb 2010
Адрес: Донецк
Сообщений: 34
Elastic.easeOut можно сделать анимацией.

Но если уж захотели разобраться, тогда хотя бы не создавайте по 4 экземпляра каждый раз. Почитайте в хэлпе, как он работает, как его останавливать и т.д.

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

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

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


 


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


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