Войти
ПрограммированиеФорум2D графика и изометрия

Нахождение нужной ячейки по координатам мыши (2 стр)

Страницы: 1 2 3 Следующая »
#15
0:05, 18 янв. 2003

Lazy
Находишь предполагаемый индекс и сверяешься может ли на этом этаже находится что-то или нет (из массива карты) если нет опускаешьсчя на этаж ниже и проверяешь таким же макаром.


#16
11:42, 23 янв. 2003

Зенькую, все запохало!!! =) Я в общем то так и предоплогал, только, че-то не похало. но вдруг озоренье снизошло!!! =)

#17
7:30, 12 фев. 2003

Народ такой вопрос, как быть с обьектами, занимающими больше одной клетки, например какое-то здание или другой обьект.
Я рассмотрел вариант введения в каждую клетку дополнительной переменной, и представить в таком виде

1 2 2 2 3  т.е. в 0 точке сам обьект, а в остальных точках направление смещения к обьекту
6 1 2 3 8  и когда наводим мышь, проходя путь, отслеживаем обьект.
6 6 0 8 8  Предложите другие способы реализации, менее обьемные алгоритмы.
6 4 7 5 8
4 7 7 7 5

#18
18:24, 11 апр. 2003

Народ не объясните мне как определять координаты тайла под курсором, если ландшафт нарисован  средствами D3D, как например в Heroes4. Это самая главная проблема которая останавливает меня от использования D3D. Щас зачатки моего движка работают исключительно под DDraw, но реализовать там нормальные тени и цветное освещение с должным быстродействием не получается. Я слышал в D3D с этим гораздо проще...

#19
0:36, 12 апр. 2003

DM!
Ни вижу разницы: как ты делал в ddraw так и в d3d. Единственно что сделай так это настрой "правильно" матрицу. А дальше отслеживай изменения координат мыши и все.

#20
11:08, 14 апр. 2003

Это понятно, но так как я нацелен на height mapping, то будут всевозможные "искажения" тайлов. Как быть с ними?
В DDraw же все плоско и тайл определяется по нехитрой формуле.
"Правильно" настроить матрицу это как?

#21
14:58, 14 апр. 2003

DM!
под матрицей я имел ввиду камеру. над height mapping подумаю, щас времени нет "соченять" хотя как это можно сделать идея уже есть. Тока сначала скажи как у тебя камера расположенная. сверху вниз или под углом? а то это уже не изометрия получается (под камерой я имею ввиду камеру direct3d а не то как будет выглядеть визуально)

#22
15:46, 14 апр. 2003

Да не брался я еще D3D, все только планы. Камеру собираюсь расположить под углом. Вся остальная графика предполагается спрайтовая, в общем чего говорить, возьми отсюда: http://www.infacom.ru/downloads/NewEditor.zip (500kb) кусок редактора карт, и все увидишь. Там все в DDraw, хочу ландшафт сделать в D3D с height mapping, а все остальное оставить как есть.

#23
17:31, 29 апр. 2003

Народ!

Не знаю почему на всех сайтах которые посвящены изометрии (естественно какие уж нашел)
После определения прямоугольного блока в котором находится мышь все предлагают
использовать маски изображения для коррекции координат мыши в изо. По сути разбив
тайл на 4 прямоугольника вы получаете в итоге прямую зависимость координат Х от У


11111111211111111
11112222222221111
22222222222222222
11112222222221111
11111111211111111

или после разбиения


111111112 21111111
111122222 22221111
222222222 22222222

222222222 22222222
111122222 22221111
111111112 21111111

Почему не понимаю никто не использует формулы.

Пример для левой верхней части

IF (HalfSpriteHeight-OffsetInBlockByY)<(OffsetInBlockByX Div Ration)  then
Begin
{Верхний левый угол}
End
else
Begin
{Правый нижний}
End;

По переменно
HalfSpriteHeight - Высота тайла div 2 {переменная вводится для переворота оси ординат}
OffsetinBlockByY - Смещение  по  Y в высчитаном блоке  положении заданной точки (Мыши)
OffsetinBlockByX - Смещение  по  X в высчитаном блоке  положении заданной точки (Мыши)
Ration - Отношение ширины тайла к его высоте

И так далее для всех остальных частей.

Почему???????????!!!!!!!!!!! :(

#24
0:23, 30 апр. 2003

Потому что при использовании маски, меньше вычислять, следовательно меньше мароки и по-моему намного нагляднее.

#25
0:59, 30 апр. 2003

Voodoo
Если бы ты читал все варианты в этой теме то не нашел бы как раз ни одного способа вычисления по маске, во всех предложенных тут вариантах используется математика/геометрия

#26
14:58, 30 апр. 2003

Aroch!

Dope уже высказал свое мнение по поводу скорости расчета описаного мною части алгоритма
мыши. А что ты думаеш по поводу скоростных характеристик алгоритма с маской и на чистой
математике/геометрии. Я стараюсь выбрать наиболее быстродействующий алгоритм

#27
14:58, 30 апр. 2003

Начал сам тестить но на моей машине разница не существенна. Пожалуйста если кто-то
задавался такой целью сообщите о результатах

#28
17:16, 30 апр. 2003

Voodoo
Лично я отдаю предпочтение математике (не люблю маски). Так как математика более гибкая штука :)

#29
4:05, 1 мая 2003

Voodoo
На счет скорости можно быть спокойным, разница в производительности и не составит ~0,5 fps а то и меньше
Я хочу сказать что заострять внимание нужно в других местах, таких как ИИ, удобство и скорость работы скриптов, работа с памятью и т.д.

Aroch
математика гибкая штука - это клёво сказано :)

Страницы: 1 2 3 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.