SPEAKER 1: Let 's tagad uzrakstīt programmu ka kaut kā mijiedarbojas ar savu peli. Jo īpaši, pieņemsim instantiate, vai izveidot logu. Un tad pieņemsim klausīties, tā teikt, šajā logā peles klikšķiem. Un, tiklīdz mēs atklāt peles klikšķi, pieņemsim drukāt ar printf koordinē x komatu y šo peli noklikšķiniet, salīdzinot ar šo logu. Šeit mēs iet. Pieņemsim vispirms ietver gevents.h, kas ir cits header fails Stanford portatīvie bibliotēka, kas attiecas ar grafisko notikumiem. Pieņemsim arī ietver gwindow.h, kas satur funkcijas, kas saistītas ar Windows. Pieņemsim tagad paziņo, ka galvenā parastā veidā. Un pieņemsim tagad instantiate šo logu. Gwindow - mēs to saucam logs - vienāds newGwindow. Un es ņemšu norādīt nedaudz patvaļīgi 320 pikseļu platums un augstums 240 pikseļi. Tagad mums ir nepieciešams rīkoties, lai klausītos uz peles notikumiem, tāpēc, lai runā, šajā logā. Tagad pasākumi var ietvert klikšķus vai velk vai kustības. Bet tagad mēs koncentrējamies tikai klikšķiem. Es esmu gatavojas apzināti izraisīt bezgalīga cilpa ar kamēr būvēt, vienkārši tāpēc, ka šī programma darbojas uz visiem laikiem, vai vismaz līdz brīdim, kad es noklikšķiniet X augšējā labajā stūrī. Lai to izdarītu, pieņemsim to darīt, bet taisnība. Un tad iekšā šīs cilpas, ļauj pirmo pārbaudi peles notikums šādi. Mēs atzīt GEvent, lai runāt. Mēs aicinām mainīgo notikumu. Un mēs ejam, lai saglabātu to, ka atgriešanās vērtību getNextEvent, kas iet īpašā konstanti, kas pēc konvencija tiek rakstīts ar lielajiem burtiem, sauc MOUSE_EVENT. Citiem vārdiem sakot, kaut kur šajā Stanford portatīvie bibliotēka, tur nemainīgs sauc MOUSE_CLICED. Un tur ir funkcija, noteikts, kas ir sauc getNextEvent, kuras mērķis ir dzīve ir darīt tieši to. Klausīties, un pēc tam, kad tā izskata vienu, atgriež nākamo notikumu, kas ir ir izraisījusi lietotāja peli. Tagad pieņemsim pārbaudīt, vai šis notikums ir nulle. Jo tas nav null, un tas ir mūsu dzirdējuši kaut ko no lietotāja pele, mēs ejam, lai turpinātu pārbaudīt tagad, kāda veida Pasākuma, kas bija. Ja getEventType, asociētais notikumu kā argumentu, ir vienāds vienāds MOUSE_CLICKED, kas notiek, īpaša veida notikumiem, kas ir tikai cita pastāvīga deklarēts Stanford portatīvie bibliotēka. Tagad, kā solīts, pieņemsim tagad izdrukāt koordinē šīs peles klikšķi. Printf "% .0 f. Citiem vārdiem sakot, es esmu gatavojas drukāt no peldošā punkta vērtības. Bet es negribu, lai redzētu kaut ko aiz komata. Tāpēc es ņemšu norādīt 0,0. Komats,% .0 f par y koordinātu kā arī. Slīpsvītru n close cenas. Un tagad pieņemsim nokļūt x koordinātu par šo notikumu. Tas ir x koordinātu ar peles klikšķi. Un tad pieņemsim nokļūt y notikuma, kas ir y-koordinātu ar peles klikšķi. Pieņemsim tagad glābt, apkopot, un palaist šo programmu. Un, kad es daru, tas būtu gadījums ka vienalga, kur es noklikšķiniet laikā robežām šīs 320 līdz 240 pikseļu logu, es pēc tam redzēt manu konsole logā x komatu y koordinātu kur es uzklikšķināt. Padarīt noklikšķiniet. . / Klikšķi. Un tur ir, ka logu prognozējām. Tagad ļaujiet man noklikšķiniet aptuveni augšpusē kreisā stūrī loga. Manā konsole ekrānā, es redzu, ka man gadās noklikšķiniet uz x-koordinātu septiņi un y koordinātu septiņi. Pieņemsim tagad noklikšķiniet apmēram apakšā labajā stūrī loga. Un man šķiet, ir noklikšķinājuši uz pixel koordinēt 314, 229. Pieņemsim tagad darīt apakšējā kreisajā stūrī. Un es redzu, 6, 233. Un augšējā labajā stūrī, 305, 4. Citiem vārdiem sakot, tas, šķiet, ir gadījums ka augšējā kreisajā stūrī Mūsu logs ir 0, 0. Un apakšējā labajā stūrī mana loga ir 320, 240. Citiem vārdiem sakot, es esmu redzējis Tieši šīs vērtības, tad es tikko pilnīgi saskaņoti manu peles kursoru katrā no šiem stūriem. Tas ir taisnība, vispār grafiskā programmēšana, vai izmantojot Stanford portatīvie bibliotēku vai vairums jebkuru otrkārt, ar kuru mēs pārstāvam top stūra kā 0, 0, un apakšējā labajā stūrī kā platums komatu augstumu, izmantojot pozitīvus skaitļus, pat lai gan tas ir uz leju un pa labi.