Показать сообщение отдельно
Старый 08.12.2008, 14:08   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Комбинация клавиш

Я бы сделал немного иначе. А именно, есть стандартные клавиши, к примеру Лево, Вверх, Вправо, Вниз, А, Б.
Далее, сделал бы маленький скриптик, где прописанны какие нада клавиши и т.п.
Затем список (правдо это на БМ просто, на б3д, массивом можно).
Далее что вносится в список, изначально все приёмы, производя некое действие, все приёмы где позиция(к примеру первое действие в приёме) и действие не совпадает, то удаляем из списка указатель на приём. Остаются естественно те которые возможны в реализации, далее если не истекло время, и сделано следующее действие, запускаем опять этот же процесс, уже проверяя на второе действие, и опять же отсекаем всё остальное.
Но тут возникает в драках 2 моммента, первое, это какраз приёмы быстрые, либо это серия ударов, это 2 разницы, т.к. приёмы быстрые, могут быть максимум из 3 последовательных действий, такой приём всегда начинается с направлений (движений), и заканчивается уже на кнопки ударов. Нужно это учитывать.
А также есть моммент такой, что приёмы идут как серия ударов, поэтому нужно также продумывать их, дабы они правильно пересикались и небыли с одинаковыми началами, но разными приёмами..
Короче говоря, применение действий уже будет происходить сразу по началу выполнения комбинации (если это не быстрый приём).
Да и использовать в данном случае And, Or и сами прямые функции получения нажатия\зажатия кнопок, я настоятельно не рекомендую. Тут как никогда, нужно изначально привязывать всё к переменным, и использовать затем их, либо как обычно будут баги и т.п. с инпутом, которые в подобных ситуациях частенько всплывают, сбивая с толку.
(Offline)
 
Ответить с цитированием