PDA

Просмотр полной версии : [Помогите!] 2D Map


Nickitee
06.12.2011, 00:08
Мб кто нить чудил такое, нужно конвертировать игровые координаты (x,y,z) в x,y на форму.
пример на этом видео: _[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Все мои попытки построить правильную формулу ни к чему не привели :(.
p.s. язык C#.
p.s.s. Что у нас есть: x,y,z игрока, x,y,z моба, дистанция от моба до игрока.

Kitsune
06.12.2011, 00:47
Nickitee, в чем сложность? X Y Z есть. Берем и рисуем в нужной пропорции используя только X и Z (без высоты тобишь).

Nitrosgen
06.12.2011, 02:54
Правила раздела ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

В данном разделе действуют все правила форума Zhyk.ru + некоторые дополнения.

В данном разделе запрещены темы-вопросы.
В данном разделе можно выкладывать только статьи / уроки / исходные коды или примеры связанные с разработкой ПО для PW.
Все вопросы, связанные с разработкой ПО вы можете здавать в разделе Общение разработчиков.
За нарушение этих простых правил, нарушитель будет награжден статусом Read Only на неделю.


С Уважением TBX1n, Dinmaite, Nitrogen, Sirioga, finkrer, Zhyk.

/dgs

Skuka.95
06.12.2011, 11:58
(без высоты тобишь
высота это типо Z
За нарушение этих простых правил, нарушитель будет награжден статусом Read Only на неделю.
О_о так вот как можно получить несущиствующий статус RO /problem

Nickitee
06.12.2011, 12:06
Nickitee, в чем сложность? X Y Z есть. Берем и рисуем в нужной пропорции используя только X и Z (без высоты тобишь).
X,Y могут уходить в минус, а бывает и такое что X или Y больше 3000 - (У меня экрана не хватит :d).
Если бы это было D3D, то в паблике есть WorldToScreen, на C# не видел.
Поэтому продолжаю поиски формулы :omg:
p.s. Пожалуйста перенесите тему в обсуждение.

Kitsune
06.12.2011, 12:33
X,Y могут уходить в минус, а бывает и такое что X или Y больше 3000 - (У меня экрана не хватит ).

Берем и рисуем в нужной пропорции
Иными словами в другом масштабе.

Да и зачем тебе глобальный координаты. Если хочешь сделать радар, то за центр поля считай координаты чара.
Соответственно положение других объектов относительно игрока можно получить банальным вычитанием.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]*********/files/7a2179a0639c44b957012300683689e5/06.12.2011-13.28.20.png

Вверху глобальный координаты, внизу локальные, для радара. Игрок по центру.

Nickitee
06.12.2011, 13:46
Иными словами в другом масштабе.

Да и зачем тебе глобальный координаты. Если хочешь сделать радар, то за центр поля считай координаты чара.
Соответственно положение других объектов относительно игрока можно получить банальным вычитанием.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]*********/files/7a2179a0639c44b957012300683689e5/06.12.2011-13.28.20.png

Вверху глобальный координаты, внизу локальные, для радара. Игрок по центру.
Не могу понять :sceptic:
Можно пример кодом?
Есть инфа:

//Mob
var mobLocX = MemoryManager.ReadFloat(mobsBase + 0x3C);
var mobLocY = MemoryManager.ReadFloat(mobsBase + 0x44);
var mobLocZ = MemoryManager.ReadFloat(mobsBase + 0x40);
\\
//MyPlayer
float locX = MemoryManager.ReadFloat(hostPlayerStructAddress + HostPlayerOffsets.LocX),
locY = MemoryManager.ReadFloat(hostPlayerStructAddress + HostPlayerOffsets.LocY),
locZ = MemoryManager.ReadFloat(hostPlayerStructAddress + HostPlayerOffsets.LocZ);
\\

Инфу о мобах прогоняю по циклу.
Как мне дальше получить x,y моба на ФОРМЕ если на ФОРМЕ центр (тобишь 0,0) это 5,320?

jkpro550
06.12.2011, 16:02
X,Y могут уходить в минус, а бывает и такое что X или Y больше 3000 - (У меня экрана не хватит ).
Если бы это было D3D, то в паблике есть WorldToScreen, на C# не видел.
Поэтому продолжаю поиски формулы
p.s. Пожалуйста перенесите тему в обсуждение.
Инфу о мобах прогоняю по циклу.
Как мне дальше получить x,y моба на ФОРМЕ если на ФОРМЕ центр (тобишь 0,0) это 5,320?
Масштабируй

Nickitee
06.12.2011, 16:42
Масштабируй
/kidding

Попросил же, ответ кодом, теории не нужны...

Kitsune
06.12.2011, 16:51
К примеру:
Чар находится по координатам: 1308, 453
Моб находится по координатам 1320, 432

Вычитаем из координат моба координаты чара и получаем: 12, -21.

К примеру размер радара 500х500. Центр 250, 250.
Положение моба на радаре будет координаты центра + координаты моба относительно чара, тоесть:
(250, 250) + (12, -21) = 262, 229.

Nickitee
06.12.2011, 18:28
[Ссылки могут видеть только зарегистрированные и активированные пользователи] ty TBX1n-y /nyan

Kitsune
06.12.2011, 18:33
Nickitee, страдал я похожей фигней от скуки. Самое сложное здесь, это получить угол поворота персонажа, и отрисовывать объекты на радаре относитель направления взгляда персонажа :)

Nickitee
06.12.2011, 18:35
Nickitee, страдал я похожей фигней от скуки. Самое сложное здесь, это получить угол поворота персонажа, и отрисовывать объекты на радаре относитель направления взгляда персонажа :)
И как получилось? :)
Если да, мб кусочек кода в лс? ;)

jkpro550
06.12.2011, 18:40
Практичнее было бы самому попробовать решить, чем создавать тему с вопросами, задача слишком примитивная

Skuka.95
06.12.2011, 18:42
задача слишком примитивная
ну и помог бы тогда умник, а не флудил бы тут...

Kitsune
06.12.2011, 18:44
И как получилось?
Если да, мб кусочек кода в лс?
Получилось, кода не будет :) Не даю никому ничего готового.

ну и помог бы тогда умник, а не флудил бы тут...
Не тыкай палочкой, оно и вонять не будет :) К тролям тоже применимо.

Skuka.95
06.12.2011, 18:54
Не тыкай палочкой, оно и вонять не будет К тролям тоже применимо.
почему то мне кажется что меня обазвали тролем... в лицо...

Kitsune
06.12.2011, 18:54
почему то мне кажется что меня обазвали тролем... в лицо...
/facepalm

Nickitee
06.12.2011, 18:59
Получилось, кода не будет :) Не даю никому ничего готового.

Ну тогда намёк как найти угол обзора персонажа, и намёк как после всего этого правильно посчитать x,y :omg:

Kitsune
06.12.2011, 19:01
Nickitee, геометрия 8-9 класс в помощь :) Оффсеты по углам где-то рядом с координатами лежали, точно не помню. Измерялись углы в радианах кажись.

jkpro550
06.12.2011, 19:34
ну и помог бы тогда умник, а не флудил бы тут...
Среднестатистичное сообщение на мои мысли выложенные на обозрение общественности, каким образом я должен помочь написать код за автора, то что нужно было (алгоритм) уже до меня написали
почему то мне кажется что меня обазвали тролем... в лицо...
раслабся, не тебя



Ну тогда намёк как найти угол обзора персонажа, и намёк как после всего этого правильно посчитать x,y
Это мой шанс помочь? Ну если из геометрии ничего эстетически красивого не вспоминается, придется *****кодерски вращать контрол на котором рисуешь

Nickitee
09.12.2011, 23:54
Тему можно удалить/закрыть.

Kitsune
10.12.2011, 00:20
Ну а результат показан будет?

aktivizion15
10.12.2011, 12:47
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Если кому интересно)

Moder Death
10.12.2011, 14:27
неплохо..
а дальше клиентского радара сервер не дает посмотреть?

semoder
10.12.2011, 14:36
неплохо..
а дальше клиентского радара сервер не дает посмотреть?

Нет, не даёт

krysun
14.12.2011, 16:54
Писал радар на Delphi на основе стандартного TChart. Отображалось на карте мобы, петы, нпс, игроки, травы.
, шахты, лут и все с их именами. Было до обновы. Если нужно исходник кину. Адреса сами менять будете. Меня ломает. В личку плиз.

Skuka.95
14.12.2011, 19:03
krysun, мне скинь)