![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Sep 2001
Сообщений: 33
|
обьясните почему следующий код не работает?
time=new Date(); sec=time.getMilliseconds(); time_out=sec+1000; while(sec<>time_out){ sec=time.getMilliseconds(); } ok=1; stop(); и возможно ли сделать таймер в одном кадре??? |
|
|||||
|
oldt = getTimer();
while(getTimer()-oldt<10000); trace("OPS"); |
|
|||||
|
Не работает, скорее всего потому, что ты проверяешь на точное равенство. Проверяй на больше-меньше - будет работать.
Только это всё равно неправильно - задерживать весь клип на одном кадре. К тому же, если количество экшнов превысит некое число (насколько я помню - 300000), то весь таймер накроется медным тазом.
__________________
Work not wolf - in forest no run |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Ну вы блин даете...
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
onEnterFrame плох тем, что исполняется, даже если мув остановлен. Надо либо удалять мув, либо забить на производительность. Пока что лучше двух/трехкадрового цикла ничего не придумано.
__________________
Work not wolf - in forest no run |
|
|||||
|
Регистрация: 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]design; 04.04.2002 в 21:15. |
|
|||||
|
А теперь то же самое - для пятёрки. Ага?
__________________
Work not wolf - in forest no run |
|
|||||
|
Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
|
Цитата:
А, вообще, вот: Пустой клип: stop_timer Linkage properties: export this symbol / export for ActionScript... name=stop_timer Первый кадр/второй кадр stop_timer: Первый кадр сцены/_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); |
|
|||||
|
Таким образом, ответ на вопрос, поставленный автором топика, такой: в пятёрке - нельзя, в эмыксе - можно
![]() В пятёре, на самом деле, можно и в одном кадре, но ценой тормозов, либо извращёнными способами, которые не оправдывают затрат - в двух кадрах проще.
__________________
Work not wolf - in forest no run |
|
|||||
|
Регистрация: Sep 2001
Сообщений: 33
|
TO: Useless
очень жалко, что в пятом нельзя так сделать, а эмыксом пока не пользоваться не приходилось, кстати видел ли его кто в продаже в москве? ...как сделать таймер в двух кадрах я знаю, но это для моей задачи не подходит, тк таймер нужен как функция. |
![]() |
Часовой пояс GMT +4, время: 13:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|