Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Igor Pavlovski
PYGAME
*Kada kažemo da koristimo neku biblioteku, to znači da u svoje programe uključujemo skup unapred pripremljenih, tematski objedinjenih elemanata (na primer funkcija ili vrednosti) koji će nam olakšati programiranje.
OVDE KODIRAMO
import pygame as pg
import pygamebg
(sirina, visina) = (400, 400)
prozor = pygamebg.open_window(sirina, visina, "Pygame")
OVDE KODIRAMO
pygamebg.wait_loop()
ovde se prikazuje rezultat
Pogledaj tačku A(5,3) koja se nalazi dole na slici.
Ona je od leve ivice prozora udaljena 5 i zato kažemo da je vrednost njene x koordinate 5.Od gornje ivice je udaljena 3 i zato kažemo da je vrednost njene y koordinate 3.
Položaj svake tačke određen je uređenim parom ovakvih koordinata. Kada kažemo da je neki par uređen, to znači da je u tom paru važan redosled njegovih elemenata. U našem slučaju, za svaku tačku će se uvek prvo izraziti vrednost njene x koordinate, a onda vrednost njene y koordinate.
Položaj svih objekata (tačaka, duži, krugova i slično) u prozoru određuje se njihovim koordinatama u koordinatom sistemu prozora. Ovo je jako važno zato što ćemo u doslovno svakom programu u kome koristimo Pajgejm morati da određujemo položaj određenih objekata u prozoru.
Niska (string) predstavlja tekstualni podatak u Pajtonu i obeležava se pomoću jednostrukih navodnika '...' ili dvostrukih navodnika "...".
U Pajtonu se torka obeležava zagradama () i njeni elementi su odvojeni zarezima (element_1, element_2)
Lista predstavlja kolekciju elemenata sličnu torki, ali razlika je u tome što se lista može menjati (mogu joj se dodavati elementi, mogu joj se oduzimati elementi, mogu se menjati vrednosti elemenata…).
Liste se u Pajtonu obeležavaju uglastim zagradama [] i, kao i torke mogu sadržati brojeve, niske, torke, druge liste…
Najlakši način da nešto obojimo u Pajgejmu je pomoću funkcije pg.Color.
Ova funkcija kao argument ima nisku koja predstavlja naziv boje na engleskom.
Ako funkciju pg.Color upotrebimo sa argumentom 'blue', željeni element će biti obojen u plavo, za žutu ćemo upotrebiti 'yellow', za zelenu 'green' i slično
Pored osnovnih boja, koje se mogu dobiti na osnovu njihovog imena, mozes da samostalno definišeš neku svoju boju tj. nijansu.
To možeš najlakše uraditi korišćenjem modela boje RGB (engl. red-green-blue). Svetlo bilo koje boje se može dobiti kombinovanjem svetla crvene (Red), zelene (Green) i plave (Blue) boje.
Boju tako možemo opisati navodeći tri broja (u ovom slučaju to su brojevi od 0 do 255), koji redom predstavljaju količinu crvene, zelene i plave komponente u boji koju definišemo.
prozor.fill([???, ???, ???])
Prozor se boji korišćenjem funkcije prozor.fill čiji je jedini parametar boja koja se zadaje naredbom pg.Color
Dakle,funkcija za bojenje prozora izgleda ovako:
prozor.fill(pg.Color("???"))
Programeri,promenite boju prozora u plavu boju
Sve funkcije za crtanje u biblioteci Pygame počinju sa pg.draw. Prvo ćemo se pozabaviti crtanjem duži.
Duž AB se crta pozivom funkcije pg.draw.line.
PRIMER:
pg.draw.line(prozor, pg.Color("black"), (100, 100), (300, 300), 5)
Dakle, vrši se poziv oblika pg.draw.line(prozor, boja, teme1, teme2, debljina)
Ova funkcija ima pet parametara koji se navode u zagradi.
Prvi parametar je prozor na kome želimo da nacrtamo duž (on se podešava unutar „sivog” koda i uvek će se zvati baš prozor).
Drugi parametar je boja.
Naredni parametri su koordinate početnog temena duži (na slici je to tačka A) i krajnjeg temena duži (tačka B).
Poslednji parametar je debljina linije kojom se iscrtava duž, zadata u pikselima.
SAVET:
Za crtanje slova A potrebno je iscrtati tri duži (levu kosu liniju, desnu kosu liniju i horizontalnu crtu).
Veličina prozora je 200 × 200 i o ovome bi trebalo voditi računa prilikom određivanja koordinata tačaka koje predstavljaju temena duži. Spajanjem odgovarajućih tačaka, formiraju se duži.
Na slici možeš videti koordinate tačaka. Tačka A je 50 piksela udaljena po osi x, i 150 na niže po osi y, zato su koordinate tačke A=(50,150).
Na isti način ćeš odrediti koordinate ostalih tačaka. Upiši ih u program umesto upitnika, a zatim pokreni program i proveri da li se dobija slovo A (jedna linija je vec smo već ucrtana).
Uvescemo promenljivu debljina da bismo debljinu obe linije mogli da kontrolišemo samo na jednom mestu.
Ova promenljiva je postavljena (inicijalizovana) na početku na 10 (naredbom dodele debljina = 10) i promenom vrednosti ove promenljive menja se debljina sve tri duži koje čine naše slovo.
I u narednim programima ćemo uvoditi pomoćne promenljive koje će nam pomoći da lakše pišemo i prilagođavamo naše programe.
Biblioteka PyGame omogućava i jednostavno crtanje krugova, korišćenjem funkcije pg.draw.circle.
Parametri funkcije su redom:
prozor na kome se crta,
boja kojom se crta,
uređeni par (obavezno celih brojeva) kojim se zadaju koordinate centra kruga,
poluprečnik kruga (obavezno ceo broj).
Nakon poluprečnika je moguće zadati i debljinu kruznice u pikselima (u tom slučaju se crta samo kružna linija, kao što je urađeno u slučaju crvenog kruga).
Ako se taj parametar izostavi, onda se crta krug koji je ispunjen bojom (kao što je urađeno u slučaju plavog kruga).
import pygame as pg
import pygamebg
(sirina, visina) = (400, 400)
prozor = pygamebg.open_window(sirina, visina, "Pygame")
# bojimo pozadinu u belo
prozor.fill(pg.Color("white"))
# crtamo crveni krug
pg.draw.circle(prozor, pg.Color("red"), (50, 50), 30, 2)
# crtamo plavi krug
pg.draw.circle(prozor, pg.Color("blue"), (150, 150), 30)
pygamebg.wait_loop()
Zakljcak:
Prvim pozivom funkcije pg.draw.circle nacrtana je crvena kružnica debljine 2, sa centrom u tački (50,50), poluprečnika 30, dok je drugim pozivom nacrtan plavi krug sa centrom u tački (150,150), poluprečnika 50 piksela.
PRIMER:
Prvo crtamo crni pravougaonik čije se gornje levo teme nalazi na koordinatama (50,50) (prva je koordinata x koja određuje udaljenost tog temena od leve ivice prozora, a druga je koordinata y koja određuje udaljenost tog temena od gornje ivice prozora), čija je širina 200 piksela, a visina 100 piksela.
Zatim se crta crveni pravougaonik čije se gornje levo teme nalazi na koordinatama (75,75), čija je širina 150, a visina 50 piksela. Prvi poziv funkcije pg.draw.rect sadrži i četvrti parametar - broj 1, koji predstavlja debljinu okvira pravougaonika u pikselima.
U biblioteci PyGame možemo jednostavno crtati kvadrate i pravougaonike. Za to koristimo funkciju pg.draw.rect.
Parametri funkcije su redom:
prozor na kome se crta,
boja,
uređena četvorka brojeva čija prva dva broja predstavljaju koordinate gornjeg levog temena pravougaonika, a druga dva predstavljaju redom njegovu širinu i visinu.
import pygame as pg
import pygamebg
(sirina, visina) = (400, 400)
prozor = pygamebg.open_window(sirina, visina, "Pygame")
# bojimo pozadinu u belo
prozor.fill(pg.Color("white"))
# crtamo crni pravougonik
pg.draw.rect(prozor, pg.Color("black"),(50, 50, 200, 100),1)
# crtamo crveni pravougaonik
pg.draw.rect(prozor, pg.Color("red"),(75, 75, 150, 50))
pygamebg.wait_loop()