silumin
offline
Опыт:
11,153Активность: |
Слайд и целевые спеллы
Первая карта на б.нете не покатила, поэтому сейчас заминаюсь картой с мясом...
Столкнулся с такой проблемой: Вся игра завёрнута на слайде (скольжении). Слайд организовал самостаятельно, прочитав несколько постов на эту тему. Всё хорошо за исключением целевых спеллов. Я нажимаю хоткей спелла и пытаюсь выбрать цель (такой же скользящий юнит как и мой) и тут вся загвоздка: юнит-цель прыгает раз в 0.05 секунд на 10 ед. и точно поймать его в цель практически невозможно, соответственно целевые спеллы как бы отпадают, чего бы не хотелось. Есть идея такая: все применяемые спеллы сделать с возможностью таргета на пустую землю, потом, при клике мышкой на точку на земле, проверять есть ли в области радиусом 50 ед. вражеский юнит, если есть, то пускать болт или вешать что-нить сразу. Второй, более простой вариант: просто все спеллы сделать АоЕ с малым радиусом, но тогда имхо будет сложно отследить утечку маны, на тот случай если в области не окажется юнита и не на кого будет пускать болт. Мб у кого есть уже готорые решения? В поиске ничего конкретного не нашёл. P.S. при слайде есть утечка памяти "через" точки? Если да, то киньте ссылку как её устранить, заранее спс. Код:
Отредактировано silumin, 18.03.2008 в 23:02. |
18.03.2008, 22:56 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Код:
утечка есть для отчистки совести напишу как бы сделал я, потом придумаете какой то более обобщенный вариант моего кода Код:
Отредактировано ADOLF, 19.03.2008 в 16:11. |
19.03.2008, 12:52 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
silumin как я понимаю юнитов скользящих не один...
судя по триггеру массивы неисаользуются, значит на каждого юнита по одному триггеру, не тру... можно сделать через массивы, а можно через лут по глобальной группе в которой записаны все юниты что долны скользить второй вариант более удобный с той точки зрения что над группой лучше всего совершать какието похожии действия, т.е. есть таймер который двигает каждого юнита из группы, не все юниты сразу будут скользить, и можно исключать из группы юнита и он не будет, а можно принять... хотя с массивом будет оптимальнее |
19.03.2008, 15:26 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
F3n1kz
offline
Опыт:
4,548Активность: |
silumin, щаз сам делаю мапу на слайде, так вот наработку, чтобы тыкать по земле и таргетилсо юнит йа стер =(
Вообщем смысл такой: ловишь событие EVENT_PLAYER_UNIT_SPELL_EFFECT local location loc = GetSpellTargetLoc local rect r = Rect(loc-x, loc-y, loc+x, loc+y) x и y - пнчтное дело <100, смаотря какой радиус Дальше local group g - юнитс ин Рек (r) птом пикаем рандомного юнита и уже с ним делаешь все что нада) (так много переменных нада. чтоб небыло утечек, т.е. их в конце трига удалять оО) Но идея тупая, все тестеры жалуюца типа "шозанах, сделай норм таргет, на землю около юнита тыкать тупо О_О" А с пропажей маны и кулдауна - оч животрепещущая тема, хз каг отменять спелл =( |
17.04.2008, 17:33 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|