Очитавање тастера миша

Информацију о тренутно притиснутим тастерима миша даје нам функција pg.mouse.get_pressed(). Ова функција враћа торку од три елемента (уређену тројку), који се користе као логичке вредности. Елементи торке редом одговарају левом, средњем и десном тастеру миша. Вредност True означава да је тастер притиснут, а False да није.

Пример наведен ниже показује како се очитава који тастери миша су притиснути. Овако изгледа део програма у коме се то дешава:

Торка pritisnut_taster_misa добија три вредности које је вратила функција pg.mouse.get_pressed(). Те вредности касније типично користимо у if наредбама. На пример, if pritisnut_taster_misa[2] значи „ако је притиснут десни тастер” (0 за леви, 1 за средњи, а 2 за десни).

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

Пример - убаци лоптицу: Док је леви тастер миша притиснут, лоптица се удаљава од миша. Циљ је померањем миша и притискањем левог тастера постићи да лоптица буде у црвеном оквиру. Притиском на десни тастер игра се враћа на почетак.

Најпре пажљиво погледајте функцију nov_frejm(), а затим и остале делове програма. Испробајте програм и проверите да ли он ради онако како сте очекивали на основу читања.

Задатак - ка и од миша: Довршите програм, тако да ради као у примеру (дугме „Прикажи пример”).

  • Када је леви тастер миша притиснут, лоптица треба да се удаљава од миша, као у примеру „убаци лоптицу” датом изнад, али не за по пола растојања, него само за по десети део растојања до миша.

  • Када леви тастер миша није притиснут, лоптица треба да се пиближава за по десети део растојања до миша (као у задатку „према мишу” из претходне лекције).

Задатак - ласер: Довршите програм тако да ради као у примеру (дугме „Прикажи пример”).

Док је леви тастер миша притиснут, „ласер” је укључен, иначе је искључен. Док је ласер укључен, енергија му се смањује за по 1 (али не испод 0), а кад је искључен енергија се повећава за по 2 (али не преко 100).