You are on page 1of 10

Small Basic

Dogaaji
U prva dva poglavlja predstavili smo objekte koji imaju

Svojstva i Operacije Osim svojstava i operacija neki objekti imaju i dogaaje (events) Dogaaji su poput signala koji se javljaju , na primjer, kao odgovor na korisnike akcije, poput pomjeranja ili kliktanja mia Na neki nain dogaaji su suprotni od operacija Programer poziva operaciju da bi rekao raunaru da neto uradi, dok u sluaju dogaaja, raunar vam javlja da se desilo neto interesantno

Upotreba dogaaja
Dogaaji su osnova za uvoenje interaktivnosti u

program Ako elite da dozvolite korisniku da vri interakciju sa vaim programom, koristiete kodgaaje Uzmimo za primjer Iks Oks igricu Ako elite da dozvolite korisniku da odigra potez, program e dobijati podatke od njega koristei dogaaje Ponimo od jednostavnijih primjera

Prvi primjer
Uzmimo za primjer jednostavan program koji ima

samo jednu naredbu i jednu podrutinu Podrutina koristi ShowMessage operaciju grafikog prozora da bi prikazala poruku korisniku
GraphicsWindow.MouseDown = OnMouseDown Sub OnMouseDown GraphicsWindow.ShowMessage("You Clicked.", "Hello") EndSub

Objanjenje
Najvaniji dio prethodnog programa je linija gdje

MouseDown dogaaju objekta GraphicWindow dodjeljujemo ime funkcije Primjetiete da je MouseDown slino svojstvu, osim to mu ne dodjeljujemo vrijednost ve naziv funkcije Upravo je to ono to dogaaje ini posebnim kada se desi dogaaj , funkcija se automatski poziva U ovom sluaju, funkcija OnMouseDown se poziva svaki put kada korisnik izvri klik miem na grafikom prozoru, nakon ega se javlja odgovarajua poruka

Rezultat klika

Event Driven programs


Ovaj nain kontrolisanja dogaaja je veoma moan i

dozvoljava kreiranje raznih interesantih programa Programi napisani na ovaj nain se nazivaju i programi voeni dogaajima (event driven programs)

Primjer
Moete izmijeniti OnMouseDown funkciju tako da

radi druge stvari osim prikazivanja poruka U primjeru koji slijedi, mjesta na koja korisnik klikne moemo oznaiti velikim plavim krugovima
GraphicsWindow.BrushColor = "Blue" GraphicsWindow.MouseDown = OnMouseDown Sub OnMouseDown x = GraphicsWindow.MouseX - 10 y = GraphicsWindow.MouseY - 10 GraphicsWindow.FillEllipse(x, y, 20, 20) EndSub

Rezultat
Primjetite da smo u ovom programu koristili MouseX i

MouseY da odredimo koordinate mia, One nam slue za crtanje kruga sa centrom u navedenim koordinatama

Upravljanje viestrukim dogaajima


GraphicsWindow.BrushColor = "Blue" GraphicsWindow.MouseDown = OnMouseDown GraphicsWindow.KeyDown = OnKeyDown Sub OnKeyDown GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() EndSub Sub OnMouseDown x = GraphicsWindow.MouseX 10 y = GraphicsWindow.MouseY - 10 GraphicsWindow.FillEllipse(x, y, 20, 20) EndSub

You might also like