![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2010
Сообщений: 5
|
Доброе время суток. Сначала опишу процесс, затем озвучу проблему. Есть игра, гонки по кругу, пользователь может задавать количество кругов. Существует два таймера, таймер общего времени игры, и таймер лучшего круга. В общем, начинаем игру, задаем, допустим, 5 кругов. Начинаем ехать, общий таймер начинает считать, заканчиваем 1-й круг, и допустим таймер лучшего круга принимает значение 2 минуты, едем второй круг и проезжаем его, допустим, за 1 минуту 30 секунд, т.е таймер лучшего круга принимает значение 1:30, дальше проезжаем остальные 3 круга и результат за каждый из них хуже чем 1:30, т.е в итоге в конце гонки получаем значение в таймере общего времени, допустим 9:30, а в тамере лучшего круга - 1:30. По окончанию игры жмем кнопочку "Начать сначала". Опять та же процедура задаем кол-во кргуов и едем. Т.е по идее мы начали новую игру и все таймеры должны сброситься. И так проезжаем первый круг за 1:40 и видим в таймере лучшего круга занчение 1:30, т.е значение с прошлой игры, т.е таймер не сбрасывается( Как сделать так чтобы таймер сбрасыался либо при нажатии на кнопку либо при переходе на какой либо кадр? Кусок кода:
stop(); initialTime = getTimer(); lapTime = initialTime; function setTimes() { timeElapsed = getTimer()-_root.initialTime; milliseconds = timeElapsed; seconds = Math.floor(milliseconds/1000); minutes = Math.floor(seconds/60); minutesTXT = minutes; secondsTXT = seconds-minutes*60; tensTXT = Math.round((milliseconds-seconds*1000)/10); if (minutesTXT<10) { minutesTXT = "0"+minutesTXT; } if (secondsTXT<10) { secondsTXT = "0"+secondsTXT; } if (tensTXT<10) { tensTXT = "0"+tensTXT; } _root.totalTimeTXT = minutesTXT+"."+secondsTXT+"."+tensTXT; } function setBestLap() { bestTime = getTimer()-_root.lapTime; milliseconds = bestTime; if (oldMilliseconds>milliseconds || oldMilliseconds == null) { oldMilliseconds = milliseconds; seconds = Math.floor(milliseconds/1000); minutes = Math.floor(seconds/60); minutesTXT = minutes; secondsTXT = seconds-minutes*60; tensTXT = Math.round((milliseconds-seconds*1000)/10); if (minutesTXT<10) { minutesTXT = "0"+minutesTXT; } if (secondsTXT<10) { secondsTXT = "0"+secondsTXT; } if (tensTXT<10) { tensTXT = "0"+tensTXT; } _root.bestLapTXT = minutesTXT+"."+secondsTXT+"."+tensTXT; } _root.lapTime = getTimer(); } |
|
|||||
|
Ну например сделать время лучшего круга очень большим числом, чтобы любое новое время круга было лучшим.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 5
|
Дык проблема состоит в том что, когда первый раз проезжаешь он запоминает время круга, а когда запускаешь заново, он запоминает только меньшее, чем в предыдущей игре, а игра ведь уже как бы новая и надо чтоб он запоминал и большое(в случае если это первый круг)
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 5
|
Нет, не помогло(
Добавлено через 1 час 55 минут Ну разве нет никакой функции, чтобы просто переводила счетчики в исходное положение, т.е. на ноль? |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 5
|
Tails, непонял(((( можешь хотя бы примерно скриптом набросать
|
|
|||||
|
Во время старта игры, Когда машинки паехали, в отдельную переменную сохроняеш текущее значение таймера, когда машинка проедет круг, то из текущего значения таймера, вычитаеш ту сохранённую переменную, и воаля, получаеш значение круга.
time-допустим это бесконечный таймер без остановки. Во время старта гонки, в отдельную переменную заносиш значение таймера: Цитата:
Цитата:
![]()
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 5
|
Спасибо, попробую
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:54. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|