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

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

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

Регистрация: Oct 2010
Сообщений: 16
Question Динамический стоп на кадре

Здравствуйте в очередной раз, что-то я веток уже наплодил, но вот вопросы все появляются, а ответов на них кроме как здесь я найти не могу D

На сей раз вопрос такой: как сделать "доигрывание" клипа до какого-то кадра?

Подробнее:

Есть сиквенция кадров импортированная как мувиклип (для ясности это 3d окружение комнаты, с камерой посередине, которая анимирована на 360 градусов). Параллельно на эту сиквенцию наложен мувиклип (маска) двигающийся с той же "скоростью" что и сиквенция (30 кадров/с) и занимающий по площади половину площади сцены (кадра сиквенции) (на самом деле таких мувиклипов много, но здесь это не важно). И так, непосредственно к вопросу, можно как-нибудь сделать так, чтобы при нажатии на эту "двигающуюся маску" (в любой момент времени, когда она находится в пределах сцены) продолжалось проигрывание сиквенции, но остановилось далее на некотором (заранее определенном кадре). Т.е. gotoAndStop(n); "перепрыгнет" на кадр n, а не "доиграет" до него и только потом остановится.

Надеюсь доступно объяснил, если что не понятно - спрашивайте. Буду благодарен за помощь.

Старый 17.03.2012, 19:31
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
addFrameScript в помощь.

Добавлено через 1 минуту
Не могу в оффсправке найти. Поэтому вот:
http://blog.newmovieclip.com/2007/04...-in-flash-cs3/
__________________
тут я

Старый 17.03.2012, 20:07
kuyn вне форума Посмотреть профиль Отправить личное сообщение для kuyn Найти все сообщения от kuyn
  № 3  
Ответить с цитированием
kuyn

Регистрация: Oct 2010
Сообщений: 16
Как раз думал, что неплохо бы такую функцию иметь, но не долго искал, так как думал что едва ли она существует. Спасибо!

В догоночку маленький вопрос: как воспроизвести часть этой сиквенции по нажатию не вперед, а назад?

Старый 17.03.2012, 20:34
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Код AS3:
mc.prevFrame();
и так в каждом кадре до нужного кадра.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 17.03.2012, 20:47
kuyn вне форума Посмотреть профиль Отправить личное сообщение для kuyn Найти все сообщения от kuyn
  № 5  
Ответить с цитированием
kuyn

Регистрация: Oct 2010
Сообщений: 16
А более оптимально никак?

Старый 17.03.2012, 20:50
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Более оптимально никак.
__________________
тут я

Старый 17.03.2012, 22:09
sneltyn вне форума Посмотреть профиль Отправить личное сообщение для sneltyn Найти все сообщения от sneltyn
  № 7  
Ответить с цитированием
sneltyn

Регистрация: Aug 2010
Сообщений: 144
Код AS3:
mask.addEventListener(MouseEvent.CLICK, maskClick)
function maskClick(e:Event):void{
funcEnterframe()
}
 
function funcEnterframe ():void{
    addEventListener(Event.ENTER_FRAME, funcFrame);
}
 
function funcFrame(e:Event):void{
if(currentFrame == n)
gotoAndStop();
}
Как вариант? Потом чтобы ENTER_FRAME много не было удалять события когда не нужно

Старый 17.03.2012, 22:13
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 8  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
sneltyn, это что за ужас? Я про мелочи уже молчу, но при каждом клике подписываться на ENTER_FRAME?!
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 17.03.2012, 22:18
sneltyn вне форума Посмотреть профиль Отправить личное сообщение для sneltyn Найти все сообщения от sneltyn
  № 9  
Ответить с цитированием
sneltyn

Регистрация: Aug 2010
Сообщений: 144
Ну я же не говорю так делать я знаю что оно будет работать! Так ENTER_FRAME будем удалять когда не нужно. Но я согласен, что это не оптимально!

Добавлено через 1 минуту
Код AS3:
mc.prevFrame();
но это тоже не вариант, если кадр будет 1000, человек физически будет долго прописывать=)

Старый 17.03.2012, 22:22
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 10  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
sneltyn, а что мешает показать нормальный результат? Очень интересно как будешь отписываться от потенциально неопределенного количества слушателей.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

Теги
AS3 , анимация , таймлайн

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

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


 


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


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