Войти на сайт

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

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

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

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

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

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

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

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

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

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

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

hod.png

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

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

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

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

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

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

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

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

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

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

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

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

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