![]() |
Как сделать паузу 10сек при проигрывании мувика?
Как сделать паузу 10сек при проигрывании мувика?
|
Если без заморочек с программингом - вставляй кучу фрэймов. Т.е. fps у тебя 15, чтоб получить 10 сек задержку - встявь 150 кадров.
|
юзай getTimer();
зы: раз сто уже обсуждалось, воспользуйся поиском |
2petgraphh
Такой подход надо искоренять, а не пропагандировать Стыдно Особенно если учесть, что скрипт элементарный |
to Belive
Ну написал бы, раз элементарный.
|
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... } } |
2 believe
Не соглашусь с тобой. Ооочень много народа работает на флэше не ради программинга, а ради так сказать эстетического удовольствия -) А во флэше можно обойтись без скриптов (ну понятно, если задача не сложная в техническом плане). И это огромный его плюс. Что-то не много видел дизайнеров знающих Директор, а ему гораздо больше лет и больше возможностей в плане программирования. |
Глубокое заблуждение...
Можно ли обойтись без скриптов?
Даже тривиальный gotoAndPlay - это уже скрипт, простейший, но - скрипт. Не применять скрипты во флэше - все равно что перепечатывать в ворде текст каждый раз заново вместо того, чтобы его копировать и множить. Любители чисто эстетического, как мне кажется, просто зашли не на тот форум. Всерьез обсуждать вставку 150 пустых кадров как способ задержки - это? Нет слов. |
Интересно, а как ты без программинга делал бы десять разных задержек? А если каждая по минуте? Такие бы портянки проматывал...
Флеш без программинга - это не флеш, это PowerPoint какой-то... |
И вообще.
Вложений: 1
Вот пример.
Простой пример с задержкой исполнения произвольно выбранного кадра на произвольное (в разумных пределах возможностей Flash - 1-16с) время . Любопытно было бы поглядеть на его реализацию "чисто эстетическими" средствами. Тормозит, разумеется, все и напрочь, но не о том речь. |
А я не понял, зачем там такой цикл (вернее как он работает):
if (_currentFrame==_root.fn){ for (j=getTimer (); getTimer ()< _root.dt*1000+j; ) { } где statment (!?) |
2petgraphh:
Цитата:
|
2 netstuff
Это - пустой цикл, он ничего не делает за исключением проверки времени (внутри самого описания цикла) и после выполнения условия завершает свою работу. Таким образом, исполнение программы (и вообще всего свфа) прерывается на заданное этим циклом время. Этот прием часто использовался ранее в других языках, пока не было придумано обращение к таймеру. Например, для Паскаля делали for i:=1 to 1000 do; - тоже пустой цикл. |
2volЖ ага а на время выполнения этого мувика весь мув стопится! =) зупа гут!
|
Дык, я об этом предупредил сразу!
Конечно, стопорится. Пример-то был не столько для практического применения (хотя, почему бы и нет - бывают, наверное, разные задачи), а для демонстрации того, что не все в этом мире пустыми кадрами решается. Или - не должно решаться. А ежели надо прервать на время, да чтобы мув остальной при этом работал - нужно искать другие пути. Например, искать тут же, на форуме. Свой-то пример (вернее, цикл задержки) я в свое время тут же и скачивал (не помню уважаемого автора идеи, но помню, что он из солнечного Магадана). У меня там какая-то билиберда в ttt была, но я ее не довел до победного конца из-за лени.
Кстати, пример демонстрирует еще одну вещь полезную: большинство из задаваемых нами вопросов давно уж обговорено, и иногда легче нажать кнопочку поиска, чем ждать новых (тех же самых по сути) ответов на старые вопросы. Это я наш форум нахваливаю! |
ну скриптом -то я ответил сразу... причем используюя его все нормально работает... =)
|
Да, я его и посмотрел.
2 ndglook И даже попытался к чему-то там присобачить. Но я хотел решить задачу шире - с любого места на любое время, и на скорую руку у меня в голову ничего и не зашло. А тут к тому же на AS наехали...ну, как не ввязаться в драку за святое?! Правда?
|
2Vol
т.е. за счет того, что проц просчитывает пустой цикл, мы имеем задержку??? дык, задержка будет сильно зависеть от мощности оного... |
2vol!
ХА! так я и сделал универсально! =) мув такой мона приаттачить в любое место! =) ччерт вынудили пример написать... а я это дело не лайк... =) ждите пчть-десять минут |
2 All
Так и знал, что визг поднимется... Я всего-лишь хотел сказать, что если аниматору понадобится вставить паузу - сомневаюсь что он будет программировать. |
Ну если людям хочется через... (одно место) сделать, не будем им мешать, ведь если очень хочется - значит можно :)
|
Вложений: 1
да не должен аниматор работать один... и программер тоже...
все должно быть правильно и дезигн и программинг... хотите одни!? умейте и то и то. вот вам пауза: |
2 netstuff
нет, для варианта с проверкой времени - не будет. Время - оно и есть время, 10с - и в Африке почти всегда 10с. В крайнэм случаэ - 12. Для пустых циклов for i:=1 to 10000 do; - конечно. Потому-то никто так сейчас и не делает. 2 ndglook Пополни копилку знаний! Мне это пока что ни к чему, потому самому неохота додумывать чужую песнь, но с превеликим удовольствием посмотрел бы. Даешь больше вариантов хороших и разных! 2 petgraphh Да будет, если человек сим делом занимается, он обязательно придет к пониманию необходимости AS. Это ведь поначалу только кажется - освоил методы рисования и анимации - и будя. |
2 ndglook
Пока писал, - ты уже исходник выложил. Спасибо. Меня в большей степени интересует задержка внутри твининга, т.е. мой вариант, но не глюкавый, не стопорящий "всех, кто ниже ростом". Если лень - не думай, сделаю и сам, если понадобится, если не лень - всем только польза будет. |
Вложений: 1
вот поуниверсальнее:
|
O-LE!
2 ndglook
Да, это работает - что надо. Что сказать - мастерство не пропьешь! |
Супер.
Спасибо ndglook.
Классное решение. Нечего сказать. Такой же метод кто-то раньше выкладывал. Я именно им и воспользовался. |
О том же.
А я пользовался другим решением для паузы. Создал мувик из двух кадров - второй кадр возвращает в первый. А количество таких возвратов определяется параметром функции, которая проигрывает этот мувик при вызове. Тут и скрипт используется и таймлайн. Здесь только один минус - в каждый момент времени мув можно использовуть только для одной задержки. А вообще конечно уже давно мжно было бы придумать в AS что-нибудь типа Delay() или Sleep()...
|
F1 -> setInterval :cool:
|
Довесочек:: MX only
|
Спасибо УильямБрэдберри!!!!
Браво!! |
| Часовой пояс GMT +4, время: 04:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.