Текущий архив: 2005.08.07;
Скачать: CL | DM;
Вниз
На какой ячейке мышь ? Найти похожие ветки
← →
[GameDev] © (2005-04-19 15:32) [0]Добрый день уважаемые МАСТЕРА
Я пишу изометрическую игру, и столкнулся с такой проблемой
Как перевести координаты мыши в координаты клеток
карту заполняю след. образом:
MapLayer1:=TMapLayer1.Create(...);
X:=-64;
Y:=-32;
MapLayer2:=TMapLayer2.Create(...);
X:=0;
Y:=0;
...
MapLayer1.Chips[i,j]:=Random(5);
MapLayer2.Chips[i,j]:=Random(5);
т.е я заполняю карту двумя слоями
1-й слой начинает рисоваться со здвигом влево на -64 и вверх на -32
2-й слой рисуется обычно с координат 0,0
каждый тайл имеет размер 128x64
получается красивая карта, но как теперь определить координыта клеток.
ПОМОГИТЕ мне PLEASE
← →
Venom Spawn © (2005-04-19 15:38) [1]Посмотри тут: http://delphigfx.mastak.ru/2d/006/2d_6.htm
← →
[GameDev] © (2005-04-19 16:03) [2]я уже там смотрел ...
I:=(X div SpriteWidth)*2; для четных
I:=(X div SpriteWidth)*2-1; для нечетных, а Y везде одинаковый :
J:=Y div SpriteHeigth;
но я чет не понимаю .....
как все таки получить например в
MouseMap_x и MouseMap_y координаты ячейки на которой мышь лежит
и потом там вывод тайлов идет вручную, а у меня через SpriteEngine там все автоматически ... и еще в примере вывод идет с координат 0,0 ... а у меня с координат -64,-32 Это имеет значение.
Помогите пожалуйста разобраться :)
← →
[GameDev] © (2005-04-19 16:25) [3]Ну помогите пожалйста ..... мне это очень срочно нужно ...
объясните подробненько (если не трудно конечно)
← →
П7 (2005-04-19 16:43) [4]Срочно? И ваще, ты же ГеймДев... А такие вопросы задаёшь. Назовись ламерюгой и тебе помогут (:
← →
Venom Spawn © (2005-04-19 17:18) [5]ГеймДев - енто значит игруху создаёт, и скилл тут непричём. Уважаемый П7, зачем человека обижаете?
← →
П7 (2005-04-19 20:06) [6]Я не обижаю, это у меня шутки такие дурацкие! (:
Я это всё к тому говорю, что если у человека есть уже детальное описание решения проблемы, но он не может в него "въехать", и поэтому решает привлечь колективный разум, то он зря теряет время.
Экспериментируйте, товарищЪ! И всё у вас получится...
← →
[GameDev] © (2005-04-20 08:56) [7]Люди ну помогите мне ......
← →
Xeno © (2005-04-20 09:24) [8]авпиав
← →
Xeno © (2005-04-20 09:24) [9]>[GameDev]
Выложи исходник сего творения, может кто и поможет
← →
MsShtaer © (2005-04-20 10:08) [10]Я делал. Бьёшь весь экран ка квадраты 128х64. Далее определяешь в каком квадрате мышь и её координаты в квадрате. Далее через битовую маску в памяти определяешь смещение. И получаешь искомое значение. (Битовую маску можно зделать как в той статье)
← →
Zak3D[@Tm] © (2005-04-20 10:56) [11]Узнать координаты тайла на который наведён курсор можно так:
X := (Trunc(Позиция курсора/Ширина тайла))*Ширина тайла;
Y := (Trunc(Позиция курсора/Высота тайла))*Высота тайла;
Где X и Y то, что мы искали, тоесть координаты нужного тайла.
Но со скролируемой картой нужно будет делать поправку на скрол : )
-----------------------
Если я конечно понял о чём идёт речь : )
← →
Zak3D[@Tm] © (2005-04-20 11:04) [12]Хотя в твоём случае формула будет несколько другой:
X := (Trunc(Позиция курсора/Ширина тайла))*Ширина тайла-Ширина тайла/2;
Y соответственно.
Страницы: 1 вся ветка
Текущий архив: 2005.08.07;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.058 c