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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Sep 2001
Сообщений: 33
По умолчанию возможно ли сделать таймер в одном кадре?

обьясните почему следующий код не работает?

time=new Date();
sec=time.getMilliseconds();
time_out=sec+1000;
while(sec<>time_out){
sec=time.getMilliseconds();
}
ok=1;
stop();

и возможно ли сделать таймер в одном кадре???

Старый 04.04.2002, 15:30
Baltika вне форума Посмотреть профиль Отправить личное сообщение для Baltika Посетить домашнюю страницу Baltika Найти все сообщения от Baltika
  № 2  
Baltika

Регистрация: Oct 2000
Сообщений: 1,593
Отправить сообщение для Baltika с помощью ICQ Отправить сообщение для Baltika с помощью MSN Отправить сообщение для Baltika с помощью Skype™
По умолчанию возможно

oldt = getTimer();
while(getTimer()-oldt<10000);
trace("OPS");

Старый 04.04.2002, 17:03
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 3  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Не работает, скорее всего потому, что ты проверяешь на точное равенство. Проверяй на больше-меньше - будет работать.

Только это всё равно неправильно - задерживать весь клип на одном кадре. К тому же, если количество экшнов превысит некое число (насколько я помню - 300000), то весь таймер накроется медным тазом.
__________________
Work not wolf - in forest no run

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

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Ну вы блин даете...
Код:
_time = getTimer();
onEnterFrame  = function() {
 if (getTimer() - _time > _timeout) play();
}
stop();
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 04.04.2002, 21:04
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 5  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
onEnterFrame плох тем, что исполняется, даже если мув остановлен. Надо либо удалять мув, либо забить на производительность. Пока что лучше двух/трехкадрового цикла ничего не придумано.
__________________
Work not wolf - in forest no run

Старый 04.04.2002, 21:12
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 6  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
Ну хорошо... Хотите универсальности? Вот она вам:

Код:
    
function delay_playing(obj,delay,name,depth){
   obj.stop();
    _root.createEmptyMovieClip(name,depth);
    cur_time = _root[name].getTimer();
    _root[name].onEnterFrame=function(){
        if (this.getTimer() - cur_time > delay){
            obj.play();
            this.removeMovieClip();
        }
    }
}
Вызов:

_root.delay_playing(_root.mega_clip,10000,"timer1",999);
__________________
subway.net.ru


Последний раз редактировалось [subway]design; 04.04.2002 в 21:15.
Старый 04.04.2002, 21:15
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 7  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
А теперь то же самое - для пятёрки. Ага?
__________________
Work not wolf - in forest no run

Старый 04.04.2002, 21:22
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 8  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
Цитата:
А теперь то же самое - для пятёрки. Ага?
Я же сказал: Хотите универсальности?

А, вообще, вот:

Пустой клип: stop_timer

Linkage properties: export this symbol / export for ActionScript... name=stop_timer

Первый кадр/второй кадр stop_timer:

Код:
  
if (this.getTimer() - cur_time > delay){
      obj.play();
      this.removeMovieClip();
}
Первый кадр сцены/_root'а:

Код:
 
function delay_playing(obj,delay,name,depth){
    _root.attachMovie("stop_timer",name,depth);
    _root[name].obj=obj;
    _root[name].delay=delay;
}
Вызов:

_root.delay_playing(_root.mega_clip,10000,"timer1",999);
__________________
subway.net.ru

Старый 05.04.2002, 15:10
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 9  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Таким образом, ответ на вопрос, поставленный автором топика, такой: в пятёрке - нельзя, в эмыксе - можно

В пятёре, на самом деле, можно и в одном кадре, но ценой тормозов, либо извращёнными способами, которые не оправдывают затрат - в двух кадрах проще.
__________________
Work not wolf - in forest no run

Старый 05.04.2002, 15:41
Timophey вне форума Посмотреть профиль Отправить личное сообщение для Timophey Найти все сообщения от Timophey
  № 10  
Timophey

Регистрация: Sep 2001
Сообщений: 33
TO: Useless
очень жалко, что в пятом нельзя так сделать, а эмыксом пока не пользоваться не приходилось, кстати видел ли его кто в продаже в москве?
...как сделать таймер в двух кадрах я знаю, но это для моей задачи не подходит, тк таймер нужен как функция.

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

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

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


 


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


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