Interakcija sa mišem i tastaturom u Processing Python Mode
Python Processing početna: Povratak na hub | Prethodna lekcija: Animacija i promenljive
Zašto je interakcija važna?
Do sada smo crtali i animirali objekte. Sada učimo kako da reagujemo na:
- poziciju miša
- klik miša
- pritiskanje tastera
Ovo je osnova za pravljenje igara i interaktivnih projekata.
Pozicija miša — mouseX i mouseY
def setup():
size(600, 400)
def draw():
background(240)
ellipse(mouseX, mouseY, 40, 40)
mouseX i mouseY su ugrađene promenljive koje prate poziciju kursora.
Detekcija klika — mousePressed
def setup():
size(600, 400)
def draw():
background(240)
if mousePressed:
fill(255, 0, 0)
else:
fill(0, 150, 255)
ellipse(300, 200, 120, 120)
mousePressed je logička promenljiva (True/False). Ako je dugme miša pritisnuto, boja se menja.
Funkcija mousePressed()
Možemo definisati i posebnu funkciju koja se automatski poziva na klik:
def mousePressed():
print("Klik na poziciji:", mouseX, mouseY)
Interakcija sa tastaturom — key i keyPressed()
x = 300
def setup():
size(600, 400)
def draw():
global x
background(240)
ellipse(x, 200, 50, 50)
def keyPressed():
global x
if key == 'a':
x -= 10
if key == 'd':
x += 10
Ovde koristimo:
key— koji taster je pritisnutkeyPressed()— funkcija koja se aktivira na pritisak tastera
Mini projekat: jednostavna igra
Zadatak:
- Napravi loptu koja prati miš.
- Klikom menjaj njenu boju.
- Tasterima A i D pomeraj drugi objekat.
Ovo je osnova za mini arkadne igre kao što su Pong ili refleks igre.
Poređenje sa Java verzijom
Isti principi važe i u Java Processing-u:
□ Processing sa Javom — interakcijaRazlika je samo u sintaksi jezika.
Sledeća lekcija
□ Mini projekat: osnove igre Pong