XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Revil
...
offline
Опыт: 16,530
Активность:
Скольжение
Вопрос от начинаещего триггер-спеллера опытным триггерщикам:
Один юнит ударяет другой юнит...
Вопрос: как сделать так (триггерно разумеется) чтобы он отьехал (задом) на какое-то растояние от юнита ударивщего его?
Если непоймете, могу все подробнее пояснить...
Старый 02.11.2006, 18:45
Iron
Листовой
offline
Опыт: 24,427
Активность:
С помощью периодического триггера с периодом 0.04 сек (25 кадров в сек), просто нужно отслеживать момент удара, добавлять ударенного в переменную, и врубать нашь периодический триггер. А внем действием Move unit двигаем этого юнита (через переменную) в точку полученную оффсетом из точки ударившего, с углом равным углу между точками ударившего и ударенного, смещенную, например, на 8. Итого, при ударе юнит будет отлетать со скоростью 8x25 в секунду. Ну нам конечно надо чтобы он отлетал с замедлением, поэтому вводим реальную переменную, отвечающую за расстояние смещения, ставим ее вместо нашей 8-рки, и с помощью нехитрых действий (например r=r-0.1) делаем чтобы при каждом запуске триггера эта переменная уменшалась.
PS: Ну собственно r=r-0.1 этопримитивно, но на малых расстояниях отлета пойдет. Помню я ка-то делал карту с отлетом на приличное расстояние (около 1000), так вот там я делал плавное замедление r=r-r/20.
Старый 02.11.2006, 19:27
GadenbIsh
Просто Гад
offline
Опыт: 70,430
Активность:
только надо проверять, проходима ли эта точка, ибо так можно и утопить вражину=)
Старый 02.11.2006, 19:44
Iron
Листовой
offline
Опыт: 24,427
Активность:
GadenbIsh, не утопишь, ибо смещение ведь рассчитывается от самого скользуна, а смещение на 8 вряд ли позволит преодолеть стену или некое препядствие, скорее он будет скользить вдоль стены.
Старый 02.11.2006, 22:39
Kiwi
Offline
offline
Опыт: 11,502
Активность:
Revil, если хош, то в барахолке посмотри моего гера гнома, либо земляного элементаря... Там это реализовано...
Старый 02.11.2006, 22:50
Revil
...
offline
Опыт: 16,530
Активность:
Сначала я попробую с слов (то бишь с текста), а потом посмотрю...
Просто у одного моего спелла это будет его часть...

Revil добавил:
Iron
Че-то ты замудрил? а если я скажу что удар, это эффект спелла?

Revil добавил:
И еще... как получить эту точку?

Отредактировано Revil, 02.11.2006 в 23:38.
Старый 02.11.2006, 23:28
Kiwi
Offline
offline
Опыт: 11,502
Активность:
Revil, вот как он будет скользить:
Событие: каждые 0.01 секунд
Действие:
move "unit" to the posicion of "unit" offset by 5 towards facing angle of "unit" - 180

Kiwi добавил:
Расшифровываю:
каждые 0.01 секунд
двигать (move) юнита в позицию юнита (point with polar offset) на 5 единиц (towards 5) facing angl"а этого юнита минус 180
Старый 02.11.2006, 23:37
Iron
Листовой
offline
Опыт: 24,427
Активность:
Revil, то же самое, только нужно отслеживать не удар, а каст.
Цитата:
И еще... я непойму... как он будет скользит действием Move unit?

Просто если передвигать юнита 25 раз в секунду, то это как 25 кадров, т.е. игрок будет видеть скольжение, а не передвижение рывками.
Вот, нашел наработочку, сам делал. Там все понятно должно быть. (тока если таких геров куча, и скилл частый, то будет лагать, ибо куча утечек точки. Благо они достаточно легко устраняются).
Прикрепленные файлы
Тип файла: w3x Отброс.w3x (18.1 Кбайт, 15 просмотров )
Старый 02.11.2006, 23:39
Revil
...
offline
Опыт: 16,530
Активность:
Kiwi
Спасибо... очень помогли...
Старый 02.11.2006, 23:39
Iron
Листовой
offline
Опыт: 24,427
Активность:
Цитата:
Событие: каждые 0.01 секунд

И нах? У тебя такие ИМБА глаза, что нужно 100 кадров в секунду?
Старый 02.11.2006, 23:40
Kiwi
Offline
offline
Опыт: 11,502
Активность:
Ну, не знаю...
Но когда нужно, чтоб юнит очень быстро отлетал, то без этого не обойтись (а то получится рывками)
Старый 02.11.2006, 23:42
Iron
Листовой
offline
Опыт: 24,427
Активность:
Цитата:
а то получится рывками

Да будет тебе известно, что у людей есть моск, и в этом моске есть биофизические алгоритмы (наподобии компьютерных, но гораздо сложнее), так вот, давно доказано, что алгоритм восприятия визуальной информации действует по принципу достраивания информации (из-за этого и бывают голюцинации), т.е. моск воспринимает 24 картинки в секунду, а все промежутки заполняет сгенерированными (не знаю как еще это описать) достроеными кадрами. Т.е. если ты зделаешь хоть 1000 кадров в секунду, то моск всеравно воспримет только 24 из 1000, а остальные сгенерит сам. Не все конечнотак просто, остальные кадры моск тоже воспримет, но они будут только слегка подстраивать генерацию на уровне подсознания.

Т.е. особой разницы в качестве между 1000 и 24 кадрами ты не увидишь, как бы недвигался юнит
Старый 02.11.2006, 23:52
Revil
...
offline
Опыт: 16,530
Активность:
Iron
Домыслеными... читал "Лабиринт Отражений" или "Фальшивые Зеркала" от Лукьяненко?

Revil добавил:
Неповерите... но я это уместил в один триггер (мне нужно было, т.к. я использую локал. переменные...)
Старый 03.11.2006, 00:01
Iron
Листовой
offline
Опыт: 24,427
Активность:
Revil, не уместишь, разве что в том триггере сделать jass-ово создание отдельного двигательного триггера для каждого запуска.

Ты ведь наверняка просто сделал цикл и поставил в нем wait 0.04 сек? Если да, то спешу тебя разочаровать. Wait бажная комманда и в цикле она отказывается работать точно, т.е. утебя будет на самом деле не 0.04 сек, а 0.2, а вот это уже очень заметно.

Из Лукьяненко только дозоры уважаю, 2-а раза перечитывал. Пробовал другоечитать, но как-то слишком притарно, слишком надумано, а вот дозоры ничего так, хотя в книге "Последний Дозор" стало хуже, но в общем сносно. А инфу про 24кадра мне психолог знакомый рассказывал.
Старый 03.11.2006, 00:17
Revil
...
offline
Опыт: 16,530
Активность:
А если за 0.01 секудну перенести локал в обчные и в новом триггере сделать их опять локал?
Получится?

Revil добавил:
И еще... а можно угол в переменую пихнуть?... а то он изменяется при движении кастера...
Старый 03.11.2006, 00:28
Iron
Листовой
offline
Опыт: 24,427
Активность:
Revil В общем обьясни где и для чего конкретно ты исспользуешь здесь локалки, и я тебе выдам способ без них.

Iron добавил:
Цитата:
а можно угол в переменую пихнуть?...

А сам как думаешь? Кнешно можно.
Старый 03.11.2006, 00:29
Revil
...
offline
Опыт: 16,530
Активность:
Я использую их для того чтобы спелл могли использовать одновременно несколько человек...
Старый 03.11.2006, 00:34
DeHa
Смышленный Человек
offline
Опыт: 4,891
Активность:
хех.я помню у меня проблема было,я сделал спелл,в нем юнит бежит и всех расталкивает,так вот у меня юниты улетали на киллометры
Старый 04.11.2006, 17:43
Revil
...
offline
Опыт: 16,530
Активность:
А если значение будет минус они будут обратно к тебе лететь...
Старый 05.11.2006, 18:58
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:30.