>> SPEAKER 1: Pojdimo zdaj napisati program da nekako komunicira z mojo miško.
Zlasti pa sprožajo, ali ustvarite okno.
In potem pa poslušaj, če se tako izrazim, v tem oknu za kliki.
In takoj, ko zazna klik, dajmo natisnete s printf
koordinate x vejico y miš klik, glede na to okno.
>> Gremo.
Poglejmo najprej vključujejo gevents.h, ki je en header datoteke v Stanfordu
prenosni knjižnica, ki se nanaša na grafičnih prireditev.
Oglejmo tudi gwindow.h, ki vsebuje funkcije, povezane z operacijskim sistemom Windows.
Pojdimo zdaj razglaša glavni na običajen način.
>> In kaj je zdaj sprožajo to okno.
Gwindow -
imenovali jo bomo okno -
enaka newGwindow.
In jaz bom določite nekoliko samovoljno širina 320 pik in višina
240 točk.
>> Zdaj moramo nadaljevati poslušati za dogodke z miško, tako da
govorijo v tem oknu.
Sedaj lahko dogodki vključujejo klikov ali vleče ali gibanja.
Ampak za zdaj se bomo osredotočili samo na klike.
Bom namenoma izzivati neskončna zanka while konstrukt,
preprosto tako, da ta program teče večno, ali vsaj dokler sem kliknite
X v zgornjem desnem kotu.
>> To storite tako, kaj je storila, medtem ko res.
In nato znotraj te zanke, omogoča prvi ček za
Miška dogodek, kot sledi.
Bomo razglasi GEvent, tako rekoč.
>> Poklicali bomo spremenljivo dogodek.
In bomo za shranjevanje, da vrne vrednost getNextEvent, ki poteka
v posebnem konstanto, ki jo konvencija je napisana v vseh kape,
imenovano MOUSE_EVENT.
Z drugimi besedami, nekje v tem Stanford prenosni knjižnica, obstaja
konstanta se imenuje MOUSE_CLICED.
In tam je funkcija definirana, da je imenovano getNextEvent, katerega namen v
življenje je storiti točno to.
Poslušajte, in potem ko je slišal enega, vrne naslednji dogodek, ki je
bil sprožen v uporabnikovem miško.
>> Zdaj pa poglejmo, ali ta dogodek je nična.
Ker to ni nič, in to je, da smo dejansko slišal nekaj od
uporabnikov miška, bomo nadaljevali preveriti, kaj zdaj tip
v primeru, da je bil.
Če getEventType, ki poteka dogodek kot argument, enaka enaka
MOUSE_CLICKED, ki se zgodi, da se posebna vrsta dogodkov, ki je pravkar
drugo konstantno prijavljeni v Stanford prenosni knjižnica.
Zdaj, kot je obljubil, dajmo zdaj natisnete koordinate tega klikom miške.
Printf "% .0 f.
>> Z drugimi besedami, bom za tiskanje ven s plavajočo vejico vrednosti.
Ampak jaz ne želim videti ničesar decimalno vejico.
Torej bom navedite 0,0.
Vejica, 0,0% f za y-koordinata kot dobro.
Backslash n blizu quote.
>> In zdaj pojdimo x-koordinata v tem primeru.
To je Apscisa z klikom miške.
In potem greva y dogodka, ki je Y-koordinata
z klikom miške.
>> Pojdimo zdaj rešiti, sestaviti, in zagon tega programa.
In ko sem naredil, bi moralo biti v primeru, da ni važno, če sem kliknite znotraj
mejah tega 320 s 240 slikovnih pik okno, naj potem vidim na moji
konzola oknu x vejico y-koordinate kje sem kliknil.
Naredite klik.
. / Klik.
In to je to okno smo napovedali.
>> Zdaj pa me kliknite približno v vrhu levi kot okna.
V moji konzoli zaslon, vidim, da sem zgodi, da kliknete na x-koordinata sedem
in Y-koordinata sedem.
Pojdimo zdaj kliknite grobem na dnu desnem kotu okna.
In zdi se mi, da sem kliknil na pixel usklajuje 314, 229.
>> Pojdimo zdaj naredil v spodnjem levem kotu.
In vidim, 6, 233.
In v zgornjem desnem kotu, 305, 4.
>> Z drugimi besedami, se zdi, da je tako da zgornjem levem kotu
naše okno 0, 0.
In kotiček spodnjem desnem mojega okna je 320, 240.
Z drugimi besedami, ki sem jih videl Prav te vrednote, imel sem
Popolnoma usklajena moj miškin kazalec V vsaki od teh vogalov.
To je res, na splošno v grafični programiranje, ali uporabljate
Stanford prenosni knjižnico ali skoraj vsa drugi, pri čemer smo predstavljajo vrh
kota kot 0, 0, in spodnji desnem kotu kot vejico širine
Višina, z uporabo pozitivna števila, celo čeprav je navzdol in na desno.