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

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

Ответ
 
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Arrow Move Library [Наработка для управления стрелками]

Arrow Move Library


Идея не нова, однако, когда однажды мне понадобилась система управления на стрелках, ни одна из существующих не подошла.
Поэтому я и взялся писать эту, призванную удовлетворить мои потребности. А, написав, решил что грех не выложить...

Итак, что мы имеем:
  • Управление стрелками, как ни странно. Избавлено от всяческих багов, связаных с хитроумными комбинациями нажатия клавиш, кои так любят портить удовольствие от подобных наработок.
  • Даблклик- если дважды нажать какую-либо клавишу, то герой будет быстрее иди вперед/назад, или быстрее разворачиватся.
  • Комбинации клавиш. Одновременное нажатие UP и DOWN приведет к быстрому развороту на 180 градусов. Аналогично для LEFT и RIGHT.
    Однако, я не считаю эту комбинацию удобной и обычно оставляю только UP + DOWN.
  • Динамическая камера. Её угол наклона и высота зависят от неровностей рельефа, позволяя не терять из виду нашего героя.
  • Адекватное отображение анимаций ходьбы/атаки, когда рядом есть вражеские юниты.
  • Одной из обязательных задач, которая стояла передо мной при написании даной системы, была возможность динамически менять настройки для каждого игрока, за что и отвечает соответствующий набор переменных и функций.
  • Пока что нет обработки применения способностей, т.е. если применить на бегу заклинание, сбивающее текущий приказ, то герой продолжит движение с анимацией"stand".
  • Так как для проигрывания анимаций юнита используеться функция SetUnitAnimationByIndex, то нам надо знать ИД соотв. анимаций, персональные для каждого юнита. Способы их узнать см. далее.
  • Большой и не слишком удобночитаемый код. Хоть я и старался давать переменным/функциям вменяемые названия, из-за особенностой системы их просто много.

Применение


В самой карте есть вложенный ридми, но т.к. он полностью на английском, на всякий случай расскажу вкратце как это использовать.
Если скопировать триггер ArrowMoveLib в свою карту, система инициализирует себя при загрузке игры для всех играющих игроков. Всё, что осталось сделать- указать конкретного юнита, для которого будет осуществляться контроль стрелками, а также Id его анимациий "stand" и "walk".
» Пример окончательной иницилаизации системы

Код:
local unit u = CreateUnit (Player(0), 'Hpal', -4000, -4000, 0) //создаем юнита 
call AML_ApplyUnit (u) //применить АМЛ для юнита u и его владельца   
call AML_SetIntField (0, 0, 0)  
//функция, устанавливающая для игрока под номером 0 значение переменной с номером 0
//(см. соотв. таблицу в карте) на 0. В данном случае, 0 это ИД анимации "stand" для паладина
call AML_SetIntField (0, 1, 12) //аналогично предыдущему, игрок - 0, переменная - 1,
//значение 12(walk)

» Как узнать ИД анимаций?

Лично мне известно два способа: во-первых, можно посредством нехитрого триггера пролистать анимки юнита при помощи SetUnitAnimationByIndex и таким образом установить нужные ИД.
Или, открыв модель в Model Editor/Model Viewer, найти в списке анимаций юнита их номер.
Прикрепленные файлы
Тип файла: rar Arrow Move Library 1.00.rar (71.6 Кбайт, 48 просмотров )
Тип файла: rar Arrow Move Library 1.00 [upd + Rus Readme].rar (88.3 Кбайт, 88 просмотров )

Отредактировано Xenosapien, 20.06.2009 в 21:11.
Старый 19.06.2009, 13:23
HappyAndRu
RPA Arena - Forever!
offline
Опыт: 5,724
Активность:
Хорошая наработка, тока зачем реадме на английском делать?
Старый 19.06.2009, 13:32
Нигеро
Kicked by ScorpioT1001
offline
Опыт: 2,738
Активность:
JNGP нужен? В тексте ни слова об этом...
Старый 19.06.2009, 13:38
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Цитата:
Сообщение от HappyAndRu2
Хорошая наработка, тока зачем реадме на английском делать?

Мой вар не поддерживает русский шрифт + наработка на JNGP, который кириллицу также не любит.
Старый 19.06.2009, 13:51
LordSerga

offline
Опыт: 3,809
Активность:
Хахахаха. Твой вар поддерживает русский язык, поверь мне. А теперь я тебе расскажу, как писать на русском.
1-открой блокнот.
2-скопируй русский текст.
3-вставь этот текст в jnpg.
Старый 20.06.2009, 06:18
ScorpioT1000
Работаем
online
Опыт: отключен
Цитата:
Её угол наклона и высота зависят от неровностей рельефа, позволяя не терять из виду нашего героя.

говно, приближение/отдаление рулит )

ScorpioT1000 добавил:
Цитата:
1-открой блокнот.
2-скопируй русский текст.
3-вставь этот текст в jnpg

над текстом кода есть текст комментария к триггеру - вот туда пишешь и копипастишь
Старый 20.06.2009, 06:46
Линкольн
Barg Ent.
offline
Опыт: 4,812
Активность:
Цитата:
Мой вар не поддерживает русский шрифт + наработка на JNGP, который кириллицу также не любит.

Если при вставке текста получается ?ii??aaaaiaa
Проверьте, чтобы раскладка клавиатуры стаяла на том же языке, который вы копируйте.
Старый 20.06.2009, 08:07
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Хм, сколько советов... ладно, вернусь сегодня с консультации, попробую сделать русский ридми.
А вобще, врядле это сработает- проблема не в том, как обойти jngp, а в том, что мой вар, сам вар а не эдитор не запускает карты с русскими текстами.
Старый 20.06.2009, 08:21
Линкольн
Barg Ent.
offline
Опыт: 4,812
Активность:
Как система отреагирует, если я поменяю уровень уклона? Во многих подобных наработках уровень уклона вообще не учитывается.
Полигон однообразен. Я добавил бы многоуровневый подъем, мосты, декорации, живую силу противника.
Можешь в следующей версии попробовать сделать «умную камеру» - проверку на наличие объектов позади юнита. Если таковые есть, и находятся они ближе, чем дистанция камеры, то сократить расстояние до цели. Не очень-то понятно...
Иначе говоря, сделать так, чтобы камера не могла проходить сквозь склоны, декорации, б/е и т.п.
P.S.
Цитата:
Двойное нажатие кнопки приведет к ускоренному поступательному/вращательному движению.

Порнография, напиши иначе пожалуйста.
Старый 20.06.2009, 08:38
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Цитата:
Полигон однообразен. Я добавил бы многоуровневый подъем, мосты, декорации, живую силу противника

Ну, это же не карта, а просто наработка. Для этой наработки от карты надо только неровности рельефа, дабы показать что она умеет, всё остальное- низменное)
Цитата:
Иначе говоря, сделать так, чтобы камера не могла проходить сквозь склоны, декорации, б/е и т.п.

мне не удалось в этой демке заставить камеру пройти сквозь склонО_о собственно, за что боролись.
Цитата:
Цитата:
Двойное нажатие кнопки приведет к ускоренному поступательному/вращательному движению.

Порнография, напиши иначе пожалуйста.

Ну почему же порнография? Тебе не нравиться сама фича, или это плохое её описание?
Старый 20.06.2009, 08:53
Линкольн
Barg Ent.
offline
Опыт: 4,812
Активность:
Xenosapien
Цитата:
напиши иначе пожалуйста.
Старый 20.06.2009, 09:53
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Спасибо тем, кто коментил, обновил первый пост:
-добавил детальный ридми на русском;
-добавил три новых функции;
-усложнил геометрию рельефа, теперь он лучше показывает, что умеет камера;
-добавил врагов;
-кое-как разрисовал ланд тайтлами, теперь демка не такая мрачная)
Старый 20.06.2009, 21:25
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Xenosapien не смотрел но обязательно посмотрю
по отзывам системка хорошая,будут ли новые версии?
Старый 01.07.2009, 01:11
Альтаик
Basket-Man
offline
Опыт: 4,623
Активность:
Самая лучшая наработка по движению по стрелкам по-моему
Старый 01.07.2009, 11:03
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Цитата:
Сообщение от DragonSpirit
будут ли новые версии?

Да, будет. Я собираюсь улучшить камеру, сделаю более разумный юзерапи, ну и мб ктото подскажет какието упущения...
Старый 01.07.2009, 13:42
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Xenosapien наработку посмотрел,и в правду хорошая...
правда было бы огромным плюсом,если бы герой не бился бы в препятствия(посмотри как это сделано у MF, может и сможешь сделать)
Старый 09.07.2009, 22:55
Ответ

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

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

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

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



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