Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как сделать паузу 10сек при проигрывании мувика? (http://www.flasher.ru/forum/showthread.php?t=23331)

prorokov 21.11.2001 15:50

Как сделать паузу 10сек при проигрывании мувика?
 
Как сделать паузу 10сек при проигрывании мувика?

petgraphh 21.11.2001 16:22

Если без заморочек с программингом - вставляй кучу фрэймов. Т.е. fps у тебя 15, чтоб получить 10 сек задержку - встявь 150 кадров.

Baltika 21.11.2001 16:27

юзай getTimer();

зы: раз сто уже обсуждалось, воспользуйся поиском

believe 21.11.2001 17:54

2petgraphh
Такой подход надо искоренять, а не пропагандировать
Стыдно
Особенно если учесть, что скрипт элементарный

prorokov 21.11.2001 18:00

to Belive
 
Ну написал бы, раз элементарный.

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
Не соглашусь с тобой. Ооочень много народа работает на флэше не ради программинга, а ради так сказать эстетического удовольствия -) А во флэше можно обойтись без скриптов (ну понятно, если задача не сложная в техническом плане). И это огромный его плюс. Что-то не много видел дизайнеров знающих Директор, а ему гораздо больше лет и больше возможностей в плане программирования.

vol 22.11.2001 12:32

Глубокое заблуждение...
 
Можно ли обойтись без скриптов?
Даже тривиальный gotoAndPlay - это уже скрипт, простейший, но - скрипт. Не применять скрипты во флэше - все равно что перепечатывать в ворде текст каждый раз заново вместо того, чтобы его копировать и множить. Любители чисто эстетического, как мне кажется, просто зашли не на тот форум. Всерьез обсуждать вставку 150 пустых кадров как способ задержки - это? Нет слов.

netstuff 22.11.2001 15:14

Интересно, а как ты без программинга делал бы десять разных задержек? А если каждая по минуте? Такие бы портянки проматывал...
Флеш без программинга - это не флеш, это PowerPoint какой-то...

vol 22.11.2001 16:25

И вообще.
 
Вложений: 1
Вот пример.
Простой пример с задержкой исполнения произвольно выбранного кадра на произвольное (в разумных пределах возможностей 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'е? Так и говори, что ты мало видел людей, работающих на Директоре...

vol 22.11.2001 17:24

2 netstuff
Это - пустой цикл, он ничего не делает за исключением проверки времени (внутри самого описания цикла) и после выполнения условия завершает свою работу. Таким образом, исполнение программы (и вообще всего свфа) прерывается на заданное этим циклом время. Этот прием часто использовался ранее в других языках, пока не было придумано обращение к таймеру. Например, для Паскаля делали
for i:=1 to 1000 do; - тоже пустой цикл.

John Connor 22.11.2001 17:54

2volЖ ага а на время выполнения этого мувика весь мув стопится! =) зупа гут!

vol 22.11.2001 18:03

Дык, я об этом предупредил сразу!
 
Конечно, стопорится. Пример-то был не столько для практического применения (хотя, почему бы и нет - бывают, наверное, разные задачи), а для демонстрации того, что не все в этом мире пустыми кадрами решается. Или - не должно решаться. А ежели надо прервать на время, да чтобы мув остальной при этом работал - нужно искать другие пути. Например, искать тут же, на форуме. Свой-то пример (вернее, цикл задержки) я в свое время тут же и скачивал (не помню уважаемого автора идеи, но помню, что он из солнечного Магадана). У меня там какая-то билиберда в ttt была, но я ее не довел до победного конца из-за лени.
Кстати, пример демонстрирует еще одну вещь полезную: большинство из задаваемых нами вопросов давно уж обговорено, и иногда легче нажать кнопочку поиска, чем ждать новых (тех же самых по сути) ответов на старые вопросы. Это я наш форум нахваливаю!

John Connor 22.11.2001 18:16

ну скриптом -то я ответил сразу... причем используюя его все нормально работает... =)

vol 22.11.2001 18:23

Да, я его и посмотрел.
 
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
Так и знал, что визг поднимется... Я всего-лишь хотел сказать, что если аниматору понадобится вставить паузу - сомневаюсь что он будет программировать.

believe 22.11.2001 18:57

Ну если людям хочется через... (одно место) сделать, не будем им мешать, ведь если очень хочется - значит можно :)

John Connor 22.11.2001 19:01

Вложений: 1
да не должен аниматор работать один... и программер тоже...
все должно быть правильно и дезигн и программинг... хотите одни!? умейте и то и то.
вот вам пауза:

vol 22.11.2001 19:01

2 netstuff
нет, для варианта с проверкой времени - не будет. Время - оно и есть время, 10с - и в Африке почти всегда 10с. В крайнэм случаэ - 12. Для пустых циклов for i:=1 to 10000 do; - конечно. Потому-то никто так сейчас и не делает.

2 ndglook
Пополни копилку знаний! Мне это пока что ни к чему, потому самому неохота додумывать чужую песнь, но с превеликим удовольствием посмотрел бы.
Даешь больше вариантов хороших и разных!

2 petgraphh
Да будет, если человек сим делом занимается, он обязательно придет к пониманию необходимости AS. Это ведь поначалу только кажется - освоил методы рисования и анимации - и будя.

vol 22.11.2001 19:19

2 ndglook
Пока писал, - ты уже исходник выложил. Спасибо.
Меня в большей степени интересует задержка внутри твининга, т.е. мой вариант, но не глюкавый, не стопорящий "всех, кто ниже ростом". Если лень - не думай, сделаю и сам, если понадобится, если не лень - всем только польза будет.

John Connor 22.11.2001 19:49

Вложений: 1
вот поуниверсальнее:

vol 23.11.2001 11:08

O-LE!
 
2 ndglook
Да, это работает - что надо. Что сказать - мастерство не пропьешь!

prorokov 23.11.2001 11:57

Супер.
 
Спасибо ndglook.
Классное решение. Нечего сказать.
Такой же метод кто-то раньше выкладывал.
Я именно им и воспользовался.

Corpse 18.04.2002 13:12

О том же.
 
А я пользовался другим решением для паузы. Создал мувик из двух кадров - второй кадр возвращает в первый. А количество таких возвратов определяется параметром функции, которая проигрывает этот мувик при вызове. Тут и скрипт используется и таймлайн. Здесь только один минус - в каждый момент времени мув можно использовуть только для одной задержки. А вообще конечно уже давно мжно было бы придумать в AS что-нибудь типа Delay() или Sleep()...

lexass 18.04.2002 13:29

F1 -> setInterval :cool:

УильямБрэдберри 18.04.2002 13:45

Довесочек:: MX only
 
http://www.flasher.ru/sources/stats_1628/

он универсальный..
для любого мувика и для рута

DUDE 23.02.2003 17:15

Спасибо УильямБрэдберри!!!!
Браво!!


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

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