# Prva samostojna vaja ## Ponovitev snovi Processing: https://py.processing.org/ ```python= # setup funkcija se pokliče samo ob zagonu progama def setup(): global my_var # najprej povemo da bo globalna my_var = 10 # nato jo inicializiramo # globalno spremenljivko lahko spreminjamo v drugih funkcijah # če ne verjameš probaj brez global =) # draw funkcija se kliče 30-60 na sekundo def draw(): global my_var # če želimo spremeniti vrednost, rabimo global my_var += 1 # spreminjamo vrednost globalne sprmenljivke def other_func(): print(my_var) # če samo beremo, ne rabimo global # Barve: fill(255, 0, 0) # rdeča fill(255, 100) # bela s prosojnostjo fill(120,120,120, ??)# kaj je ?? parameteri (dokumentacija) stroke(0, 255, 0) # zelena obroba noStroke() # brez obrobe # Risanje: circle(100, 100, 50) # krog na (100,100) velikosti 50 rect(0, 0, 50, 50) # kvadrat v levem zgornjem kotu # Dogodki: if mousePressed: # ko držimo miško circle(mouseX, mouseY, 20) # rišemo kroge def mouseWheel(event): # ko vrtimo kolešček if event.getCount() > 0: # če vrtimo naprej size += 1 # povečamo velikost def keyPressed(): # ko pritisnemo tipko if key == ' ': # če je presledek background(255) # pobrišemo zaslon # Dokumentacija naj bo tvoja prijateljica # V njej najdeš opis funkcije in uporabo # Najdeš jo na https://processing.org/reference ``` ## Naloga - slikar 0.1 1. OSNOVA: - Nastavi velikost okna in belo ozadje - Naredi globalne spremenljivke za velikost kroga - Ko držimo miško, naj se izriše krog na poziciji miške 2. INTERAKCIJA: - Z miškinim koleščkom spreminjamo velikost kroga, ki ga rišemo pod miško - Ob miškinem kliku spremeni barvo na random barvo - Tipka F zmanjša prosojnost kroga - Tipka D poveča prosojnost kroga - Presledek pobriše zaslon BONUS: - Dodaj omejitve vrednosti prosojnosti (med 0 in 1 ), poglej funkcijo constraints() - Dodaj kontrolo obrobe (stroke) - Shrani sliko na tipko S Rešitve: ```python= r = 1 a = 255 def setup(): size(600,600) noStroke() def draw(): # uporabimo barvo iz spremenljivke col if mousePressed: circle(mouseX, mouseY, r) def mousePressed(): # ko pritisnemo tipko nastavimo random barvo global a fill(random(255), random(255), random(255), a) def mouseWheel(event): global r e = event.getCount() # preverimo scroll up/down r += e*10 def keyPressed(): # ko pritisnemo tipko global a if key == ' ': # če je presledek background(255) elif key == "f": a-=10 elif key == "s": a+=10 ```