#python #python-3.x #game-engine #mouseleftbuttondown #ursina
Вопрос:
Я использую урсину для создания игры, и я хочу обнаружить щелчок левой кнопкой мыши, чтобы я мог стрелять. Итак, вот мой код :
def update(self):
if held_keys['t']:
print("it works !")
Всякий раз, когда я нажимаю «t», он печатает » это работает!», и если я удерживаю его, пока он удерживается, сообщение печатается. Отлично! Но теперь, если я попробую нажать «левой кнопкой мыши» для своего ключа, он больше не работает !
Тогда мой код был бы :
def update(self):
if held_keys['left mouse down']:
print("it works !")
Итак, проблема здесь явно заключается в аргументе «левая мышь опущена». Но я уверен, что это правильный синтаксис :
- согласно документации (https://www.ursinaengine.org/cheat_sheet.html#Keys)
- и согласно другому тесту, который я провел с ним, где он работал (в другой ситуации)
Итак, синтаксис моего аргумента верен, мой код верен. Где же тогда находится ошибка ? Существует ли особый способ управления мышью, отличный от клавиатуры ? Я действительно так не думаю, вот почему я здесь в некотором замешательстве.
Ответ №1:
Способ отладки этого состоял бы в том, чтобы распечатать диктант held_keys, чтобы посмотреть, что он содержит. Правильное название таково 'left mouse'
. Это происходит потому, что имена кнопок мыши называются иначе, чем другие клавиши, и в основном используются для облегчения внесения изменений в код. В конце концов, кнопки мыши-это не клавиши.
Однако то, что вы могли бы сделать mouse.left
, это вместо этого проверить.
Комментарии:
1. Изменение его на «левую мышь» сработало ! На самом деле я не знаю, почему это не было написано таким образом в документации, но в любом случае… Спасибо!