Страница: 1 |
Страница: 1 |
Вопрос: Я пишу СТРАТЕГИЮ.Траблы
Добавлено: 26.12.05 13:43
Автор вопроса: ygen | Web-сайт:
Короче я сделал карту и миникарту (в левом-верхнем уголке).Короче создал PICTUREBOX.В него запихнул ещё один.
После этого во внутренний запихнул картинку и при наведении мышки в нижнюю часть, карта движется вниз, ну и так далее соответственно.Но проблема заключается в том,чтобы разработать или высчитать место,куда тыкнул гамер.Надо чтобы именно в это место перемещался юнит.И траблы с мини-картой.Не получается никак при щелчке в определённый участок, чтобы карта перемещалась туда же.Но исходник или пример скинуть не могу,так как очень много весит для модемного подключения по картам (около 9 мегов).
Помогите!!!
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 26.12.05 17:15
А с чем проблемы-то - с математикой? Возми себе некие 2 точки отсчёта, н-р верхний левый угол экрана и верхний угол карты (когда карта на экране смотрится ромбом). При щелчке мыши вычисляешь смещение м/у этими двумя точками и плюсуешь смещение курсора от верхнего левого угла экрана. Получаешь реальные координаты. Переход при помощи миникарты аналогично: получаешь смещение курсора относительно верхнего угла миникарты (если она - ромб), перемножаешь этот вектор (а это же вектор!! скалярно на масштаб карты (н-р 10:1, значит на 10) И двигаешь карту так, чтобы полученные координаты на миникарте отразились по центру экрана на ольшой карте.
Звучит всё запутано, но на самом деле всё просто. Посмотри Алгебру не помню за какой класс или Линейную алгебру - операции с двумерными векторами: сложение, вычитание скалярное умножение.
Номер ответа: 2
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #2
Добавлено: 26.12.05 17:48
А ты случайно не дорабатываешь исходник карты StarCraft..? (такой-же пост видел где-то на других форумах)
Номер ответа: 3
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #3
Добавлено: 28.12.05 01:43
Ошибка. Скалярно можно перемножить только фве вектора.
ТочкаВКоторуюНадоСмотреть = ТочкаВКоторуюТыкнулиНаМаленькойКарте / РазмерыМаленькойКарты * РазмерыБольшойКарты
ТочкаВКоторуюТыкнулиНаБольшойКарте = ТочкаВКоторуюТыкнулиНаПикчерБоксе + ТочкаНаКоторуюСейчасСмотрим
Выражения векторные. Надеюсь, понятно выразился.
Номер ответа: 4
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #4
Добавлено: 28.12.05 01:47
Фу. Опечатка. Скалярно можно умножать только вектор на вектор, в результате получается скаляр (то есть число). Вектор можно умножать на число (на скаляр, на масштабный кфц), получается вектор.
Но это так, фигня, сути ответа эта ошибка не искажает.
Номер ответа: 5
Автор ответа:
ygen
Вопросов: 36
Ответов: 87
Web-сайт:
Профиль | | #5
Добавлено: 28.12.05 13:32
Случайно нет.Откудова я возьму исходник карты StarCraft?
Кстати! Ни кто не может мне подкинуть ещё какой-нить замок, размером 115 Х 115 ? А то из героев брать...