![]() |
Как сделать карту? "радар"
И снова так сказать я....
В общем в верхнем правом углу надо создать "что-то" похожее на радар во всех нормальных играх... я не знаю как это реализовать на деле, но можно ли туда поместить вид со 2 созданной камеры и огородить его картинкой? :dontknow: |
Ответ: Как сделать карту? "радар"
две камеры одна сверху
и с побощью CameraViewport рисуешь :) |
Ответ: Как сделать карту? "радар"
ИМХО: Способ распространенный но не информативный радар получится. Можно рисовать точки(или что другое) с учетом поворота камеры. Делается через синусы, косинусы.
|
Ответ: Как сделать карту? "радар"
Spy4433, предложил простой вариант "влоб". Естественно никто так на деле не делает.
По сути у тебя есть позиция игроков, далее есть твоя позиция. Отнимаешь от позиции объекта для карты, твою позицию, при этом т.к. радар 2D и с видом сверху, то позиция нужна только по X и Z. Далее отняв, получаешь вектор смещения, делишь его на фактор соотношения велечин масштаба мир к радару (например на радаре 10 ед. мира, будет 1 пиксель, то делишь на 10). Далее рисуешь точку например. По сути это логическая задача. И на неё нету конкретного ответа. Возьми листок бумаги, и подумай сам, решение простое, тебе просто нужно немного посидеть и подумать. |
Ответ: Как сделать карту? "радар"
|
Ответ: Как сделать карту? "радар"
Мока) решение идеальное) Все просто и ясно), но есть одно но... мне нужно именно так, чтобы вид сверху... у меня элементы на карте распределяются рандомно, так что нужно именно простецким влоб... просто как это можно реализовать?...
Spy4433 можешь по подробней?... |
Ответ: Как сделать карту? "радар"
да вы офигели советовать две камеры,
|
Ответ: Как сделать карту? "радар"
Цитата:
|
Ответ: Как сделать карту? "радар"
для красивости можно отрендерить статику уровня в текстуру (художник нарисовать) и под радаром поставить квад с этой текстурой и двигать ее !! Ну а динамические объекты уже отдельно рисовать исходя из позиций !!
|
Ответ: Как сделать карту? "радар"
1. создается две камеры (одна вешается сверху и направлена вниз , вторая так как тебе нужно доп. cam1, cam2)
2 CameraViewport как пользоватся посмортри в справке блица - это бытсро и не очень красиво. вар предложеный тов. MoKa более красивый и гибкий. P.S можно ли туда поместить вид со 2 созданной камеры и огородить его картинкой - можно ) Кстати вопрос .. 2d блица тормозное.. не повлияет ли на производительность отрисовки юнитов(в виде rect или oval) на радаре(100 шт например)? |
Ответ: Как сделать карту? "радар"
та ну, это ж изврашенство))
просто карту надо рисовать полупрозрачной, в рамке. А чтоб не просто точки отрисовывать - для каждого объекта задать "мини-иконку", чтоб хоть как то ориентироваться. ПС или HeightMap запечь вместо фона для карты) |
Ответ: Как сделать карту? "радар"
спасибо за ответы... буду считать)
1)не поможете ссылью на 2д учебник?.. 2)как сделать ту же рамку или полоску жизни?... есть переменная life 3)как сделать так, чтобы над головой персонажа была стрелка, направленная всегда к цели, куда бы персонаж не поворачивался)? "как в lineage 2" |
Ответ: Как сделать карту? "радар"
Тебе нужна тригонометрия, тут не 2D учебник, а школьная программа 7-9 классов по геометрии и алгебре + смекалка.
Для жизни, получи screen-space позицию над персонажем (CameraProject), далее рисуй полосу. Для 2D используй лучше всего FastImage, т.к. Blitz2D - это очень тормозной и голимый метод рисования 2D. |
Ответ: Как сделать карту? "радар"
эм... да все это я знаю... полоска нужна именно этого героя, то есть в верхнем левом углу камеры всегда.
FastImage использовать для этого? а пр стрелку... нуууу надеялся что есть какая либо отдельная команда), в блитце недавно... |
Ответ: Как сделать карту? "радар"
Цитата:
Цитата:
Если тебе нужна 3D стрелочка, то тут просто, ставишь 3D стрелку над игроком и делаешь ей PointEntity на цель. Она будет нацелена на цель. Если под игроком, то тут нужен спрайт с текстурой стрелки, немного больше математики - получаешь 2D вектор разницы расстояния между игроком и целью по осям X и Z (позиция_XZ_цели - позиция_XZ_игрока), далее вычисляешь угол из этого вектора, и используешь его для поворота спрайта (Yaw). Последний вариант, это 2D стрелка, её геморнее всего делать, поэтому бери либо первый - самый простой, либо второй - посложнее. |
Часовой пояс GMT +4, время: 23:33. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot