![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перемещние по карте [Delphi, Windows]
Жора © (2004-06-13 19:01:00)Значится такая задача – есть матрица, в ней записана легенда карты, потом карта отрисовываетя. Передвижение идет также по массиву (в таком случае персонаж как бы прыгает по клеткам). Вопрос: «Как сделать передвижения плавными (используя массив), и высчитать на какой клетке находится игрок» Хотелось бы увидеть это в примерах. Заранее благодарен.
Гога (2004-06-15 16:45:00) [1]Жора код тот сюда кинь
breakmaster (2004-06-15 16:12:00) [2][3]
Тока это надо в таймер засунуть
Ландграф Павел (2004-06-14 18:49:00) [3]KilkennyCat>н-да... талант... как таких на форум пускают... орех сплошной
KilkennyCat (2004-06-14 16:37:00) [4]Делаешь массив с ячейками размером 0,00001х0,00001 пикс. и тогда дискретность движения хоть и останется, но человеческий глаз ее уже не сможет заметить.
NikotiN (2004-06-14 16:37:00) [5]двигай персонажа отдельно, введи ему координаты X,Y не зависимо от массива.
считаь в какой клетке он находится
по х=х div ДлинаКлетки;
по у=y div ВысотаКлетки;
при условии что карта начинается в точке (0,0), т.е. в верхнем левом углу, если она смещается, то просто прибавляешь/вычитаешь смещение.
плавное передвижение
inc(Герой.Х, шаг) и для у так же
шаг = то на сколько сдвинется герой, надо брать меньше кусочка карты, но кратное ему (для удобства).
Маг Гыр (2004-06-14 13:52:00) [6]"Координаты" игрока не надо записывать в массив.
При его передвидении проверишь , произошло ли столкновение с массивом.