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

будь добр
вести себя приличнее в разделе вопросов - тебе здесь ничего не должны и такая манера поведения не лучшим образом сказывается на желании продолжать помогать тебе.
P.S. веди учет нажатых и отжатых клавиш, вот тебе и условие, по которому можно проверить состояние клавиши. Один триггер срабатывает на нажатие и пишет в переменную или массив состояние клавиши, а второй на отжатие и тоже пишет в переменную состояние клавиши. А дальше по любому событию, будь то таймер или желание твоей левой пятки, проверяешь состояние переменных и получаешь результат.
`
ОЖИДАНИЕ РЕКЛАМЫ...
17
Посмотри в StarCraft Mass Recall. Там есть это в одной из первых миссий терран (1 эпизод).
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, это работает только до тех пор, пока каждой клавише соответствует независимое действие. А когда две одновременно нажатые клавиши должны давать результат, отличающийся от суммы их отдельных нажатий, то сразу же приходится избавляться от костылей с таймерами, привязанными непосредственно к клавишам.
30
prog, ну так вопрос был как раз таки про несовмещённые нажатия. В любом случае можно просто на каждую клавишу по булу держать и при нажатии/отпускании отдельных клавиш менять стейты, а потом эти булы в единой обработке чекать нужным образом, будь то единичное срабатывание или цикличная проверка. Кроме того, тогда всякие нажатия shift/ctr/alt как флаги становятся ненужными.
24
Clamp, погоди, а разве я не вот это самое предлагал делать?
В любом случае можно просто на каждую клавишу по булу держать и при нажатии/отпускании отдельных клавиш менять стейты, а потом эти булы в единой обработке чекать нужным образом, будь то единичное срабатывание или цикличная проверка.
30
prog, звучало, как будто там счётчик какой-нибудь предлагал. Перечитал и понял, что неправильно понял в первый раз
Чтобы оставить комментарий, пожалуйста, войдите на сайт.