Просмотр полной версии : Как сделать паузу 10сек при проигрывании мувика?
prorokov
21.11.2001, 15:50
Как сделать паузу 10сек при проигрывании мувика?
petgraphh
21.11.2001, 16:22
Если без заморочек с программингом - вставляй кучу фрэймов. Т.е. fps у тебя 15, чтоб получить 10 сек задержку - встявь 150 кадров.
юзай getTimer();
зы: раз сто уже обсуждалось, воспользуйся поиском
2petgraphh
Такой подход надо искоренять, а не пропагандировать
Стыдно
Особенно если учесть, что скрипт элементарный
prorokov
21.11.2001, 18:00
Ну написал бы, раз элементарный.
John Connor
21.11.2001, 18:11
onClipEvent(load){
start=gettimer()
period=10000 //10 seconds *1000=10000ms
}
onClipEvent(enterFrame){
if(gettimer()-start>period){
_parent.action() //for example "play()"
removeMovieclip(this) \\sure you must attach this clip first...
}
}
petgraphh
21.11.2001, 18:40
2 believe
Не соглашусь с тобой. Ооочень много народа работает на флэше не ради программинга, а ради так сказать эстетического удовольствия -) А во флэше можно обойтись без скриптов (ну понятно, если задача не сложная в техническом плане). И это огромный его плюс. Что-то не много видел дизайнеров знающих Директор, а ему гораздо больше лет и больше возможностей в плане программирования.
Можно ли обойтись без скриптов?
Даже тривиальный gotoAndPlay - это уже скрипт, простейший, но - скрипт. Не применять скрипты во флэше - все равно что перепечатывать в ворде текст каждый раз заново вместо того, чтобы его копировать и множить. Любители чисто эстетического, как мне кажется, просто зашли не на тот форум. Всерьез обсуждать вставку 150 пустых кадров как способ задержки - это? Нет слов.
netstuff
22.11.2001, 15:14
Интересно, а как ты без программинга делал бы десять разных задержек? А если каждая по минуте? Такие бы портянки проматывал...
Флеш без программинга - это не флеш, это PowerPoint какой-то...
Вот пример.
Простой пример с задержкой исполнения произвольно выбранного кадра на произвольное (в разумных пределах возможностей Flash - 1-16с) время .
Любопытно было бы поглядеть на его реализацию "чисто эстетическими" средствами.
Тормозит, разумеется, все и напрочь, но не о том речь.
netstuff
22.11.2001, 17:08
А я не понял, зачем там такой цикл (вернее как он работает):
if (_currentFrame==_root.fn){
for (j=getTimer (); getTimer ()< _root.dt*1000+j; ) {
}
где statment (!?)
netstuff
22.11.2001, 17:12
2petgraphh:
Что-то не много видел дизайнеров знающих Директор, а ему гораздо больше лет и больше возможностей в плане программирования.
Интересно, а кто ещё кроме дизайнеров работает на Director'е? Так и говори, что ты мало видел людей, работающих на Директоре...
2 netstuff
Это - пустой цикл, он ничего не делает за исключением проверки времени (внутри самого описания цикла) и после выполнения условия завершает свою работу. Таким образом, исполнение программы (и вообще всего свфа) прерывается на заданное этим циклом время. Этот прием часто использовался ранее в других языках, пока не было придумано обращение к таймеру. Например, для Паскаля делали
for i:=1 to 1000 do; - тоже пустой цикл.
John Connor
22.11.2001, 17:54
2volЖ ага а на время выполнения этого мувика весь мув стопится! =) зупа гут!
Конечно, стопорится. Пример-то был не столько для практического применения (хотя, почему бы и нет - бывают, наверное, разные задачи), а для демонстрации того, что не все в этом мире пустыми кадрами решается. Или - не должно решаться. А ежели надо прервать на время, да чтобы мув остальной при этом работал - нужно искать другие пути. Например, искать тут же, на форуме. Свой-то пример (вернее, цикл задержки) я в свое время тут же и скачивал (не помню уважаемого автора идеи, но помню, что он из солнечного Магадана). У меня там какая-то билиберда в ttt была, но я ее не довел до победного конца из-за лени.
Кстати, пример демонстрирует еще одну вещь полезную: большинство из задаваемых нами вопросов давно уж обговорено, и иногда легче нажать кнопочку поиска, чем ждать новых (тех же самых по сути) ответов на старые вопросы. Это я наш форум нахваливаю!
John Connor
22.11.2001, 18:16
ну скриптом -то я ответил сразу... причем используюя его все нормально работает... =)
2 ndglook И даже попытался к чему-то там присобачить. Но я хотел решить задачу шире - с любого места на любое время, и на скорую руку у меня в голову ничего и не зашло. А тут к тому же на AS наехали...ну, как не ввязаться в драку за святое?! Правда?
netstuff
22.11.2001, 18:41
2Vol
т.е. за счет того, что проц просчитывает пустой цикл, мы имеем задержку???
дык, задержка будет сильно зависеть от мощности оного...
John Connor
22.11.2001, 18:46
2vol!
ХА! так я и сделал универсально! =) мув такой мона приаттачить в любое место! =) ччерт вынудили пример написать... а я это дело не лайк... =) ждите пчть-десять минут
petgraphh
22.11.2001, 18:48
2 All
Так и знал, что визг поднимется... Я всего-лишь хотел сказать, что если аниматору понадобится вставить паузу - сомневаюсь что он будет программировать.
Ну если людям хочется через... (одно место) сделать, не будем им мешать, ведь если очень хочется - значит можно :)
John Connor
22.11.2001, 19:01
да не должен аниматор работать один... и программер тоже...
все должно быть правильно и дезигн и программинг... хотите одни!? умейте и то и то.
вот вам пауза:
2 netstuff
нет, для варианта с проверкой времени - не будет. Время - оно и есть время, 10с - и в Африке почти всегда 10с. В крайнэм случаэ - 12. Для пустых циклов for i:=1 to 10000 do; - конечно. Потому-то никто так сейчас и не делает.
2 ndglook
Пополни копилку знаний! Мне это пока что ни к чему, потому самому неохота додумывать чужую песнь, но с превеликим удовольствием посмотрел бы.
Даешь больше вариантов хороших и разных!
2 petgraphh
Да будет, если человек сим делом занимается, он обязательно придет к пониманию необходимости AS. Это ведь поначалу только кажется - освоил методы рисования и анимации - и будя.
2 ndglook
Пока писал, - ты уже исходник выложил. Спасибо.
Меня в большей степени интересует задержка внутри твининга, т.е. мой вариант, но не глюкавый, не стопорящий "всех, кто ниже ростом". Если лень - не думай, сделаю и сам, если понадобится, если не лень - всем только польза будет.
John Connor
22.11.2001, 19:49
вот поуниверсальнее:
2 ndglook
Да, это работает - что надо. Что сказать - мастерство не пропьешь!
prorokov
23.11.2001, 11:57
Спасибо ndglook.
Классное решение. Нечего сказать.
Такой же метод кто-то раньше выкладывал.
Я именно им и воспользовался.
А я пользовался другим решением для паузы. Создал мувик из двух кадров - второй кадр возвращает в первый. А количество таких возвратов определяется параметром функции, которая проигрывает этот мувик при вызове. Тут и скрипт используется и таймлайн. Здесь только один минус - в каждый момент времени мув можно использовуть только для одной задержки. А вообще конечно уже давно мжно было бы придумать в AS что-нибудь типа Delay() или Sleep()...
УильямБрэдберри
18.04.2002, 13:45
http://www.flasher.ru/sources/stats_1628/
он универсальный..
для любого мувика и для рута
Спасибо УильямБрэдберри!!!!
Браво!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.