GRAFLEKX
27.01.2010, 00:57
Здравствуйте господа, возникли тормоза с таймером, прошу помощи.
Есть некий код:
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;}
}
И кнопка:
on (press) {
clickedStart();
}
Если запустить мувик и нажать комбинацию кнопок "пауза" и "выход из паузы", то таймер работает нормально, и после выхода из паузы продолжает отсчет времени.
А если запустить мувик по кнопке (функция clickedStart();) и нажать "паузу" и "выход из паузы", то таймер показывает бред и продолжает отсчет от каких-то не понятных цифр... Прошу простить за некий каламбур.
В чем я ошибся? Я уже запутался что-то совсем... Заранее спасибо за любую помощь...
Есть некий код:
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;}
}
И кнопка:
on (press) {
clickedStart();
}
Если запустить мувик и нажать комбинацию кнопок "пауза" и "выход из паузы", то таймер работает нормально, и после выхода из паузы продолжает отсчет времени.
А если запустить мувик по кнопке (функция clickedStart();) и нажать "паузу" и "выход из паузы", то таймер показывает бред и продолжает отсчет от каких-то не понятных цифр... Прошу простить за некий каламбур.
В чем я ошибся? Я уже запутался что-то совсем... Заранее спасибо за любую помощь...