Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Изометрия   Найти похожие ветки 

 
Вась-Вась   (2004-12-01 12:34) [0]

А вот у меня к вам такой вопрос: если у меня спрайт в высоту или ширину больше, чем клетка карты, то как его рисовать и обрабатывать - разбить на несколько спрайтов или что-нибудь ещё?


 
MeF88 ©   (2004-12-01 14:07) [1]

Зачем? Так и рисуй.
http://www.mirgames.ru/article/gamedev/aigame - смотри скрин в конце.


 
TButton ©   (2004-12-01 16:55) [2]

задай смещение по X и Y для спрайта
чтоб обозначить его центр
т.е.
Sprite.Width=100;
Sprite.Height=200;
Sprite.Center.X=50;  // относительно верхнего
Sprite.Center.Y=150; // левого угла спрайта
...
tile.X      // координаты левого верхнего
tile.Y      // угла клетки карты
tile.Width  // ширина клетки
tile.Height // высота
...
dx:=tile.X+(tile.Width div 2)-Sprite.Center.X
dy:=tile.Y+(tile.Height div 2)-Sprite.Center.Y
...


мож где в последнем фрагменте со знаками напутал, но вроде б так
...


 
NikeOLD ©   (2004-12-02 13:59) [3]

Тут можно фокус проделать, учи английский и см. ссылку ниже:
http://www.reinerstileset.4players.de:1059/read.htm#f

Весь фокус в том, что размеры ВСЕХ спрайтов кратны 32. Т.е 32х32, 64х64, 96х96 и т.д. В этом слкучае, если базовый спрайт карты 32х32, а спрайт 64х64, то банальное смещение на 32 пикселя, а спрайт т.о. займет не одну, а четыре клетки карты.



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.395 c
14-1107399738
Думкин
2005-02-03 06:02
2005.02.27
С Днем рождения! 3 февраля


9-1101493193
miek
2004-11-26 21:19
2005.02.27
GLScene: TerrainRenderer


10-1084467392
VK220
2004-05-13 20:56
2005.02.27
Почему функция _AddRef (как и _Release) вызывается не


14-1107846236
Aleksandr
2005-02-08 10:03
2005.02.27
Эрнест Хемингуэй - Старик и море


6-1103212119
BVV
2004-12-16 18:48
2005.02.27
формирование заголовков ТСР пакетов