Войти на сайт

Авторизация, ждите ...
×

ТЕМА: [MV] Имитация нажатия клавиши

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #89959

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4610
  • Спасибо получено: 4773
  • Победитель Сбитой кодировкиПроект месяца 1 местоРазработчик3 местоОрганизатор конкурсовУчитель2 место ГотвПроект месяца 3 местоПроект года 2 место3 место в Кодировке
И еще тут один вопрос :blush: Тут уже, наверное, все куда сложнее.

Проблема в том, что в определенный момент игры хорошо бы смоделировать, будто бы игрок нажал клавишу Ентер. Хоть на самом деле он ее, естественно, не нажимал. :mad: Но, может, возможно как-то вызвать это событие нажатия этой кнопки?

(и в этот момент по идее должен активироваться ивент под спрайтом игрока, который по нажатию)

Администратор запретил публиковать записи гостям.

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90272

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • ОраторПрограммист RubyПроект месяца 2 местоУчительПроект месяца 3 местоПаладинВетеранПрограммист JavaScript Проект месяца 1 местоДаритель Стимкея
Можно так: Input._onKeyDown({ 'keyCode': 13 });
Но после этого нужно как-то сделать паузу и вызвать Input._onKeyUp({ 'keyCode': 13 }); иначе это будет расцениваться, как нажал бесконечно много раз...
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90322

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4610
  • Спасибо получено: 4773
  • Победитель Сбитой кодировкиПроект месяца 1 местоРазработчик3 местоОрганизатор конкурсовУчитель2 место ГотвПроект месяца 3 местоПроект года 2 место3 место в Кодировке
Спасибо большое, что откликнулся :) Только у меня что-то как-то не сработало :ermm:

hod.png

Вроде, написала, как нужно... странно :silly:

Администратор запретил публиковать записи гостям.

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90355

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • ОраторПрограммист RubyПроект месяца 2 местоУчительПроект месяца 3 местоПаладинВетеранПрограммист JavaScript Проект месяца 1 местоДаритель Стимкея
Пауза не в смысле подождать, а в смысле после вызова Input._onKeyDown вызвать обновление сцены игры или что-то в этом роде и уже после него вызвать Input._onKeyUp, а в данном случае мы можно считать и не нажали клавишу. Может ты напишешь мне, какую идею ты хочешь с помощью этого реализовать, и я смогу придумать другой вариант.
Администратор запретил публиковать записи гостям.

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90356

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • 3 место ГотвПобедитель Сбитой кодировки2 место Программист JavaScript 3 местоПроект месяца 1 место2 место Сбитая кодировкаПисатель 3 местоПроект месяца 3 местоОрганизатор конкурсов
Выше было сказано - активация события, которое обычно должно срабатывать по команде игрока. Правда, не стану утверждать, что это сам по себе оптимальный подход (деталей не знаю).
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90357

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • ОраторПрограммист RubyПроект месяца 2 местоУчительПроект месяца 3 местоПаладинВетеранПрограммист JavaScript Проект месяца 1 местоДаритель Стимкея
Ну, активировать событие можно и с помощью переключателя, переменной и много чем еще)
Администратор запретил публиковать записи гостям.

[MV] Имитация нажатия клавиши 8 года 9 мес. назад #90367

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4610
  • Спасибо получено: 4773
  • Победитель Сбитой кодировкиПроект месяца 1 местоРазработчик3 местоОрганизатор конкурсовУчитель2 место ГотвПроект месяца 3 местоПроект года 2 место3 место в Кодировке
Проблема в том, что в игре люди жалуются, что нужно постоянно жать энтер, чтобы сделать ход. И вот я подумала, что можно было бы это делать за них, как-нибудь автоматически.

Может, правда предложишь, как можно по-другому решить эту ситуацию. С другой стороны, если я буду автоматически как бы нажимать энтер, то у игрока пропадет возможность сохраниться и выйти в настройки, что тоже вроде не очень хорошо. Если хочешь, могу исходник игры передать, чтобы было более наглядно видно, в чем пробелма. (там по всему полю расставлены ивенты, которые активируются при нажатии Ентера)

Проблему решили на ивентах. (проставили автозапуск и сделали сверку координат)

Последнее редактирование: 8 года 9 мес. назад от AnnTenna.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.174 секунд