![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
подскажите пожалуйста, в разный фреймах я считаю время уровня, т.е. в каждом следующем фрейме увеличиваю переменную на то время, которое пришлось на данный уровень
например уровень 1, в событии onEnterFrame: _global.timeLeft = Math.round((maintime-getTimer())/1000); _global.score=_global.timeLeft; уровень 2 в событии том же: _global.timeLeft = Math.round((maintime-getTimer())/1000); _global.score=_global.score+_global.timeLeft; так вот при вываоде _global.score во втором уровне сумма неправильная? может дело в переводе из формата даты и число? |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
Если можно, то хотелось бы более понятно.
Что ты подразумеваешь под уровнями? Что значит "время, которое пришлось на данный уровень"? Что такое "maintime"? Наилучший подход - детально описать систему, что она должна делать, описать текущую структуры(клипы, код, где, что, ...). А здесь предлагается править готовое (возможно не всегда правильное) решение, вырванное из какого-то контекста. Быстро и корректно сделать это просто не возможно. ps сорри за многословие, просто таких вопросов слишком много... |
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
да, извиняюсь не точно высказалась
уровень - это уровень игры, каждый уровень - в отдельном кадре прописан и нарисован первый кадр - уровень игры 1, в нем мувик actions, мувику задано следующее: onClipEvent(load) { gameLevel=1; maintime=getTimer()+40000; } onClipEvent(enterFrame) { if(_global.timeLeft>=0) { _global.timeLeft = Math.round((maintime-getTimer())/1000); // время оставшееся до конца уровня игры _global.score=_global.timeLeft; ..... } else { _root.gotoAndStop("level1done"); //переход к кадру, где сообщается "уровень пройден, ваше время такое-то - здесь надо вывести _global.score } } а во втором уровне игры вместо _global.score=_global.timeLeft; пишу _global.score=_global.score+_global.timeLeft; если в первом уровне _global.score выводит количество секунд, то во втором уровне _global.score=_global.score+_global.timeLeft - выводит неправильную сумму |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
Тебе нужно просто потрэйсить timeLeft и score на каждом уровне и узнать
что за значения остаются при переходе. Ты общаешься исключительно с цифрами поэтому проблем со сложением быть не должно. Но на мой взгляд в конце уровня в score записывается отрицательное число. Если timeLeft равен 0, то в следующий раз getTimer будет больше чем maintime, а значит timeLeft меньше 0 и мы записываем это в score. Мне кажется это странной логикой. Хотя возможно я не прав... |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|