Očitavanje tastera miša

Informaciju o trenutno pritisnutim tasterima miša daje nam funkcija pg.mouse.get_pressed(). Ova funkcija vraća torku od tri elementa (uređenu trojku), koji se koriste kao logičke vrednosti. Elementi torke redom odgovaraju levom, srednjem i desnom tasteru miša. Vrednost True označava da je taster pritisnut, a False da nije.

Primer naveden niže pokazuje kako se očitava koji tasteri miša su pritisnuti. Ovako izgleda deo programa u kome se to dešava:

Torka pritisnut_taster_misa dobija tri vrednosti koje je vratila funkcija pg.mouse.get_pressed(). Te vrednosti kasnije tipično koristimo u if naredbama. Na primer, if pritisnut_taster_misa[2] znači „ako je pritisnut desni taster” (0 za levi, 1 za srednji, a 2 za desni).

Primeri i zadaci

Primer - ubaci lopticu: Dok je levi taster miša pritisnut, loptica se udaljava od miša. Cilj je pomeranjem miša i pritiskanjem levog tastera postići da loptica bude u crvenom okviru. Pritiskom na desni taster igra se vraća na početak.

Najpre pažljivo pogledajte funkciju nov_frejm(), a zatim i ostale delove programa. Isprobajte program i proverite da li on radi onako kako ste očekivali na osnovu čitanja.

Zadatak - ka i od miša: Dovršite program, tako da radi kao u primeru (dugme „Prikaži primer”).

  • Kada je levi taster miša pritisnut, loptica treba da se udaljava od miša, kao u primeru „ubaci lopticu” datom iznad, ali ne za po pola rastojanja, nego samo za po deseti deo rastojanja do miša.

  • Kada levi taster miša nije pritisnut, loptica treba da se pibližava za po deseti deo rastojanja do miša (kao u zadatku „prema mišu” iz prethodne lekcije).

Zadatak - laser: Dovršite program tako da radi kao u primeru (dugme „Prikaži primer”).

Dok je levi taster miša pritisnut, „laser” je uključen, inače je isključen. Dok je laser uključen, energija mu se smanjuje za po 1 (ali ne ispod 0), a kad je isključen energija se povećava za po 2 (ali ne preko 100).