Очитавање тастера миша¶
Информацију о тренутно притиснутим тастерима миша даје нам функција 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).