Разчитане на бутоните на мишката

Информация за текущо натиснатите бутони на мишката се предоставя от функцията pg.mouse.get_press(). Тази функция връща набор от три елемента (подреден троен), които се използват като логически стойности. Елементите на кортежа съответстват съответно на левия, средния и десния бутон на мишката. Стойност True показва, че в момента е натиснат бутон, и False, че не е.

Примерът по-долу показва как да четете кои бутони на мишката се натискат. Това е частта от програмата, където това се случва:

Комплектът pressed_mouse_button получава три стойности, върнати чрез функцията pg.mouse.get_press(). Тогава обикновено използваме тези стойности в операторите if. Например if pressed_mouse_button[2] означава “ако е натиснат десен бутон” (0 за ляво, 1 за средно и 2 за дясно).

Примери и задачи

Пример - сложете топката в кутията

Докато левият бутон на мишката се държи натиснат, топката се отдалечава от курсора. Целта е да поставите топката в червената кутия, като преместите мишката и натиснете левия бутон. Натискането на десния бутон връща играта в началото.

Първо изучете внимателно функцията new_frame() и след това разгледайте и останалите части на кода. Изпробвайте програмата и вижте дали работи, както сте очаквали, след като прочетете описанието.

Задача - до и от мишката:

 Завършете програмата, така че да работи както е показано в примера (бутон „Play Task“).

  • Когато се натисне левия бутон на мишката, топката трябва да се отдалечи от мишката, както в примера „поставете топката в полето“ по-горе, но не на половин разстояние, а само на една десета от разстоянието до мишката.

  • Когато левият бутон на мишката не е натиснат, топката трябва да се приближи с една десета от разстоянието до мишката (както в задачата „към мишката“ в предишния урок).

Задача - лазер:

Завършете програмата, така че да работи както е показано в примера (бутон „Play Task“).

Докато левият бутон на мишката се държи натиснат, “лазерът” е включен, в противен случай той е изключен. Докато лазерът е включен, енергията му намалява с 1 (но не под 0), а когато е изключена, енергията се увеличава с 2 (но не над 100).