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.