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

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

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

Регистрация: Jan 2009
Сообщений: 19
По умолчанию нужно отследить проигрывание мувика целиком

Есть менюшка. Довольно таки не обычная , но не в этом суть.
Один из ее элементов - гроб. При наведении (onRollOver) он закрывается,
уводим мышку (onRollOut) соответственно открывается. Открытие и закрытие длится 15 кадров каждый. И все вроде бы хорошо, но если начинаешь хаотично водить мышкой над объектом, то получается дерганье крышки гроба, т.е. flash отправляет анимацию в ключевые кадры.

Как можно этого избежать? чтоб проигрывалось каждое действо до конца.

Старый 23.04.2009, 12:57
ОльгаЮрьевна вне форума Посмотреть профиль Отправить личное сообщение для ОльгаЮрьевна Посетить домашнюю страницу ОльгаЮрьевна Найти все сообщения от ОльгаЮрьевна
  № 2  
Ответить с цитированием
ОльгаЮрьевна
 
Аватар для ОльгаЮрьевна

Регистрация: Mar 2008
Адрес: Санкт-Петербург
Сообщений: 171
Отправить сообщение для ОльгаЮрьевна с помощью ICQ
... посмотрите примерчик - там происходит ПЛАВНОЕ проигрывание мувика вперед-назад
Вложения
Тип файла: zip sample.zip (4.4 Кб, 35 просмотров)

Старый 23.04.2009, 13:04
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 3  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Примерно так:

Код AS1/AS2:
var frameStartOpen:Number= 1;
var frameStopOpen:Number= 15;
var frameStartClose:Number= 16;
var frameStopClose:Number= 30;
var targetState:Number= 0;   // 0 -- если гроб, в итоге, нужно закрыть; 1 -- если нужно открыть
 
onRollOver= function(){
    targetState= 0;
    if (_currentframe == frameStopOpen) gotoAndPlay(frameStartClose);
}
 
onRollOut= function(){
    targetState= 1;
    if (_currentframe == frameStopClose) gotoAndPlay(frameStartOpen);
}
кроме того в кадрах, где заканчивается анимация нужно написать:

Код AS1/AS2:
stop();
if (targetState == 1) gotoAndPlay(frameStartOpen);
и в другом

Код AS1/AS2:
stop();
if (targetState == 0) gotoAndPlay(frameStartClose);

Старый 23.04.2009, 13:07
Komaroff вне форума Посмотреть профиль Отправить личное сообщение для Komaroff Найти все сообщения от Komaroff
  № 4  
Ответить с цитированием
Komaroff

Регистрация: Jan 2009
Сообщений: 19
Всем огромное спасибо. Два варианта - просто супер!!!В точку!!!!

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

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

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


 


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


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