Для начинающих
[16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
|
Разбираем.Обьясняем
[1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
|
Прочее
[4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
|
Главная » Статьи » Midlet Pascal » Прочее |
Для тех, кто не знает: FPS - это дословно "кадры в секунду". На мобилках, что мощнее, игры "играют" быстро, а на слабеньких еле-еле. Чтобы ваша игра шла с одинаковой скоростью на всех устройствах, надо это FPS как то зафиксировать. Предлагаю свое решение: Code program fps; const frames = 20; // ограничим FPS 20-ю кадрами в секунду var delay_,f,fps,s:integer; // объявляем переменные procedure game; // процедура игры begin setcolor(0,0,0); // меняем цвет на черный fillrect(0,0,getwidth,getheight); // закрашиваем весь экран //\\//\\//\\//\\//\\//\\//\\//\\//\\// //ЗДЕСЬ МОЖЕТ БЫТЬ ВАША ПРОГРАММА =)// //\\//\\//\\//\\//\\//\\//\\//\\//\\// setcolor(0,255,0); // меняем цвет на зеленый drawtext('FPS: ' + fps,0,0); // выводим количество кадров end; begin // начало основного кода fps:=0; // любые переменный в начале нужно обнулять delay_:=25; // первоначальное значение времени задержки repeat f:=0; // обнуляем счетчик s:=getsecond(getcurrenttime); // узнаем текущую секунду while (s=getsecond(getcurrenttime)) do begin // пока не прошла секунда f:=f+1; // считаем кадры game; // выполняем процедуру игры repaint; // перерисовываем экран и больше эту процедуру не вызываем delay(delay_); // ждем... end; fps:=f; // переменную fps можно было и не заводить - она нужна лишь для вывода на экран if (f<frames-1) then delay_:=delay_-1; // если FPS меньше нужного нам, то уменьшаем задержку if (f>frames+1) then delay_:=delay_+1; // и наоборот ("1" - это как бы погрешность, нужно для стабильности FPS) if (delay_<0) then delay_:=0; // если задержка будет отрицательной, то приложение зависнет until getkeyclicked=KE_KEY0; // выход из приложения при нажатии "0" end. | |
Просмотров: 3173 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1 | |
| |