Поясняю: если игрок нажал кнопку W (на клавиатуре), значит юнит двигается вверх, а когда отпустил, то юнит остановился, аналогично с другими клавишами. Как такое сделать? Есть ли какое-нибудь условие нажата ли данная кнопка или событие игрок отпустил эту кнопку?

будь добр
вести себя приличнее в разделе вопросов - тебе здесь ничего не должны и такая манера поведения не лучшим образом сказывается на желании продолжать помогать тебе.
P.S. веди учет нажатых и отжатых клавиш, вот тебе и условие, по которому можно проверить состояние клавиши. Один триггер срабатывает на нажатие и пишет в переменную или массив состояние клавиши, а второй на отжатие и тоже пишет в переменную состояние клавиши. А дальше по любому событию, будь то таймер или желание твоей левой пятки, проверяешь состояние переменных и получаешь результат.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
9
То есть StarCraft Mass Recall? Это карта, как я понял, но дальше всё.
17
Это карта, как я понял, но дальше всё.
Это пак карт, самодельная кампания по мотивам StarCraft 1. Тебе нужна миссия с кражей диска Конфедерации после эвакуации с Мар-Сары.
30
Есть событие "использована клавиша", с флагами "нажата/отжата", "с зажатым Shift/Alt/Ctrl" и тд.
30
Nekron, воспользоваться поиском по триггерам с кейвордом "key" мешает религия?
9
Clamp, это срабатывает только один раз (как у меня вышло), а мне надо сработку примерно через 1 игровую секунду (за это время мой юнит сдвигается на клетку), для полноты будь добр, тогда сказать условие "кнопка нажата".
24
будь добр
вести себя приличнее в разделе вопросов - тебе здесь ничего не должны и такая манера поведения не лучшим образом сказывается на желании продолжать помогать тебе.
P.S. веди учет нажатых и отжатых клавиш, вот тебе и условие, по которому можно проверить состояние клавиши. Один триггер срабатывает на нажатие и пишет в переменную или массив состояние клавиши, а второй на отжатие и тоже пишет в переменную состояние клавиши. А дальше по любому событию, будь то таймер или желание твоей левой пятки, проверяешь состояние переменных и получаешь результат.
Принятый ответ
30
P.S. веди учет нажатых и отжатых клавиш, вот тебе и условие, по которому можно проверить состояние клавиши. Один триггер срабатывает на нажатие и пишет в переменную или массив состояние клавиши, а второй на отжатие и тоже пишет в переменную состояние клавиши. А дальше по любому событию, будь то таймер или желание твоей левой пятки, проверяешь состояние переменных и получаешь результат.
Там всё нативно работает, без подобных костылей даже.
24
Clamp:
Там всё нативно работает, без подобных костылей даже.
Когда я в последний раз пытался это сделать - не было другого способа. Правда было это давно. Если добавили нативный учет текущего состояния клавиш - отлично. Если нет - описанный мной способ это не костыль, а самое часто используемое решение к задаче периодического выполнения действия пока нажата клавиша, независимо от движка.
P.S. Про нативную проверку на shift и ctrl речь не идет, если что т.к. автор вопроса про них и не спрашивал.
30
prog, я к тому, что по факту для реализации любой системы такого рода нет смысла хранить состояние клавиши, т.к. отпустить её нельзя без того, чтобы нажать. Как следствие, после нажатия достаточно циклично выполнять необходимые действия и останавливать это действие по событию отпускания. Автор же спрашивал, есть ли событие отпускания клавиши, а оно есть.
24
Clamp, это работает только до тех пор, пока каждой клавише соответствует независимое действие. А когда две одновременно нажатые клавиши должны давать результат, отличающийся от суммы их отдельных нажатий, то сразу же приходится избавляться от костылей с таймерами, привязанными непосредственно к клавишам.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.