![]() |
Re: Простейшая бродилка
Алгоритм работает очень нечетко и медленно, лучше пользуйся библиотекой...
|
Re: Простейшая бродилка
Вложений: 2
А вот здесь глянь как работает ?
Я кстати еще искуственно торможу , а то летает хрен догонишь :) , если будет усложнятся то есть еще запас. Дополнительно для взрыва использую внешний класс выводящий часть картинки с прозрачностью, а все остальное написано на чистом МР. |
Re: Простейшая бродилка
Сам же понимаешь, если алгоритм хорошо написан, то будет работать хорошо на любой платформе... А если же коряво то...
Кстати совет, не тормози игру а введи внутренний таймер... |
Re: Простейшая бродилка
А какой смысл тормозить таймером когда можно тормозить плавностью движения.
Тем более этот параметр можно будет менять в опциях . |
Re: Простейшая бродилка
Учитывай,что разные девайсы имеют разные показатели производительности...
|
Re: Простейшая бродилка
Вот для этого в опциях будет параметр изменения скорости под девайс.
min--mid--max |
Re: Простейшая бродилка
Цитата:
a kak внутренний таймер razrabotati? spasibo. |
Re: Простейшая бродилка
Цитата:
Именно поэтому у большинства девелоперов в продуктах практически нет настроек... Разве что включение/выключение звука... Мало кто додумается искать регулировку скорости в настройке, скорее посетуют на кривую игру... |
Re: Простейшая бродилка
Тоже верно.
Седня попробую совместить с таймером и и компенсировать время движения не delay, а разрешением движения. |
Re: Простейшая бродилка
Я бы посоветовал именно delay...
Не все можно будет компенсировать движением... Сделай следующим образом : бери системное время в начале главного цикла и в конце, а потом добавляй недостаточное время, чтобы добится стандартного значения в 25 fps... |
Re: Простейшая бродилка
Хочу сделать так , беру время в нечале главного цикла и в конце сравниваю с эталонным временем , считаю кратностьполученого к эталонному времени , кратность компенсирую движением а то что остается в остатке компенсирую при помощи delay
|
Re: Простейшая бродилка
Тоже работоспособно, однако зачем дробить алгоритм? Как по мне так более продуктивно задать фиксированную скорость и подгонять работу к ней, чем делать динамическую скорость, меняя ее каждый цикл прорисовки...
|
Re: Простейшая бродилка
Ничего не дробится. А зато на мощных телах качество классное.
И скорость стабильная. Вот пример: procedure render; begin time:=getRelativeTimeMs; Paint_Map; drawImage(sprite, pos_x, pos_y); repaint; step:=(getRelativeTimeMs-Time)/8; end; |
Re: Простейшая бродилка
Хм.. А анимация? Если ее реализовать последовательной сменой картинок?...
|
Re: Простейшая бродилка
Так она так и реализована, если есть нажатие джойстика то меняем спрайта пересчитываем карту и потом вызывается процедура render.
|
Часовой пояс GMT +4, время: 03:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot