![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2010
Сообщений: 5
|
Здравствуйте господа, возникли тормоза с таймером, прошу помощи.
Есть некий код: function clickedStart(){
timing = true;
startTimer();
}
function pause() {
pauseTime = getTimer();
_root.onEnterFrame = null;
timing = false;
time_mc = true;
}
function unpause() {
if ((time_mc == true) && (timing == false)){
unpauseTime = getTimer();
pauseLength = (unpauseTime-pauseTime)+pauseLength;
_root.onEnterFrame = function (){
sed_time = getTimer() - pauseLength;
_root.count.text = time_to_string(sed_time);};
timing = true;}
}
function startTimer(){
if (timing != false){pauseLength = 0;}
start_time = getTimer();
_root.onEnterFrame = function (){
elapsed_time = getTimer()-start_time;
_root.count.text = time_to_string(elapsed_time);};
}
function time_to_string(time_to_convert){
if (timing == true){
elapsed_hours = Math.floor(time_to_convert / 3600000);
remaining = time_to_convert - elapsed_hours * 3600000;
elapsed_minutes = Math.floor(remaining / 60000);
remaining = remaining - elapsed_minutes * 60000;
elapsed_seconds = Math.floor(remaining / 1000);
remaining = remaining - elapsed_seconds * 1000;
elapsed_fs = Math.floor(remaining / 10);
if (elapsed_hours < 10){
hours = "0" + elapsed_hours.toString();
}else{
hours = elapsed_hours.toString();}
if (elapsed_minutes < 10){
minutes = "0" + elapsed_minutes.toString();
}else{
minutes = elapsed_minutes.toString();}
if (elapsed_seconds < 10){
seconds = "0" + elapsed_seconds.toString();
}else{
seconds = elapsed_seconds.toString();}
if (elapsed_fs < 10){
hundredths = "0" + elapsed_fs.toString();
}else{
hundredths = elapsed_fs.toString();}
return hours + ":" + minutes + ":" + seconds + ":" + hundredths;}
}
Если запустить мувик и нажать комбинацию кнопок "пауза" и "выход из паузы", то таймер работает нормально, и после выхода из паузы продолжает отсчет времени. А если запустить мувик по кнопке (функция clickedStart();) и нажать "паузу" и "выход из паузы", то таймер показывает бред и продолжает отсчет от каких-то не понятных цифр... Прошу простить за некий каламбур. В чем я ошибся? Я уже запутался что-то совсем... Заранее спасибо за любую помощь... |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 101
|
мувик стартует сразу после загрузки, не дожидаясь когда пользователь нажмет на кнопку?
возможно при повторном запуске мувика или запуске его кнопкой не обнуляются переменные отвечающие за начало отсчета (start_time) +выражения с точки зрения флеша абсолютно одинаковые, так зачем писать больше? if (timing == true) if (timing) |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 5
|
Цитата:
Наглядный пример работы мувика: Запускаем swf, мувик стартует автоматически и таймер ведет отсчет времени со старта. Нажимаем на кнопку "пауза", например, на 6 сек., таймер останавливается, ждем некоторое время и нажимаем кнопку "выход из паузы" - таймер продолжает отсчет с 6 сек, как и должно быть. Теперь жмем на кнопку "рефреш", таймер обнуляется и начинает новый отсчет. Жмем на кнопку "пауза", например, на 6 сек., таймер останавливается, нажимаем "выход из паузы" и таймер продолжает отсчет не с 6 сек, а с 30-40 сек, тоесть показывает время с момента первоначального старта мувика, а не с момента нажатия кнопки "рефреш". Где-то я пропустил цепочку обнуления таймера, а вот где не пойму... PS: Конечно много текста, но по другому подробно не объяснишь... |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 5
|
Всем спасибо огромное за необъятную помощь, проблема решена, тему можно закрывать.
Последний раз редактировалось GRAFLEKX; 30.01.2010 в 01:02. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|