>> Spreker 1: Kom ons 'n program skryf nou wat een of ander manier in wisselwerking met my muis.
In die besonder, laat ons instansieer, of 'n venster.
En dan laat ons luister, so te sê, binne daardie venster vir die muis klik.
En so gou as wat ons ontdek 'n kliek, laat se druk met printf die
koördinate x komma y van die muis kliek, relatief tot die venster.
>> Hier gaan ons.
Kom ons kyk eers sluit gevents.h, wat 'n ander kop lêer in die Stanford
draagbare biblioteek wat verband hou om grafiese gebeure.
Kom ons sluit ook gwindow.h, wat bevat funksies wat verband hou met Windows.
Kom ons nou verklaar vernaamste in die gewone manier.
>> En laat ons nou instansieer die venster.
Gwindow -
ons sal noem dit venster -
gelyk newGwindow.
En ek sal ietwat arbitrêr spesifiseer 'n breedte van 320 pixels en 'n hoogte van
240 pixels.
>> Nou moet ons om voort te gaan om te luister vir die muis gebeure, om so te
praat, binne daardie venster.
Nou gebeure druk kan insluit of sleep of bewegings.
Maar vir nou sal ons fokus slegs op klik.
Ek gaan om opsetlik veroorsaak 'n oneindige lus met 'n ruk bou,
eenvoudig so dat hierdie program loop vir ewig, of ten minste totdat ek op die
X in die boonste regterkantste hoek.
>> Om dit te doen, laat ons doen terwyl ware.
En dan binnekant van die loop, laat eerste tjek vir die
muis geval as volg.
Ons sal 'n GEvent verklaar, om so te praat.
>> Ons sal die veranderlike geval noem.
En ons gaan te stoor in die terugkeer waarde van getNextEvent, verby
in 'n spesiale konstante, wat deur konvensie is geskryf in hoofletters,
genoem MOUSE_EVENT.
Met ander woorde, iewers in hierdie Stanford draagbare biblioteek, daar is 'n
konstante genoem MOUSE_CLICED.
En daar is 'n funksie gedefinieer dis genoem getNextEvent, wie se doel in
die lewe is om presies dit te doen.
Luister vir, en dan wanneer dit hoor 'n mens, gee die volgende byeenkoms wat
is veroorsaak deur die gebruiker se muis.
>> Laat se kyk of nou so 'n geval is van nul.
Want dit is nie null, en dit is ons eintlik iets gehoor van die
gebruiker se muis, ons gaan om voort te gaan nou kyk watter tipe
gebeurtenis wat was.
As getEventType, verby 'n gebeurtenis as 'n argument, gelyk gelykes
MOUSE_CLICKED, wat gebeur 'n te wees spesifieke tipe gebeure, wat net
'n ander konstante verklaar in die Stanford draagbare biblioteek.
Nou, soos belowe, laat ons nou die druk van die koördinate van die muis klik.
Printf "% 0,0 f.
>> Met ander woorde, ek gaan om te druk 'n drywende punt waarde.
Maar ek wil nie iets om te sien na die desimale punt.
So ek sal spesifiseer 0,0.
Komma,% 0,0 f vir die y-koördinaat sowel.
Agteroorskuisstreep n noue kwotasie.
>> En nou, laat ons kry die x-koördinaat van die gebeurtenis.
Dit is die x-koördinaat van die muis klik.
En dan laat ons y van die geval, wat is die y-koördinaat
van die muis klik.
>> Kom ons nou ook red, saamstel, en die uitvoering van hierdie program.
En wanneer ek dit doen, moet dit die geval wees dat dit nie saak waar ek kliek binne
die grense van die 320 deur 240 pixel venster, ek moet dan sien op my
konsole venster die x komma y-koördinate waar ek gebruik.
Maak klik.
. / Klik.
En daar is die venster wat ons voorspel het.
>> Nou kan ek kliek rofweg in die top linker hoek van die venster.
In my konsole skerm, sien ek dat ek gebeur om te klik op x-koördinaat sewe
en y-koördinaat sewe.
Kom ons kyk nou op ongeveer in die onderste regterkantste hoek van die venster.
En dit lyk asof ek het gekliek pixel koördineer 314, 229.
>> Kom ons doen nou die onderste linkerhoek.
En ek sien 6, 233.
En regter boonste hoek, 305, 4.
>> Met ander woorde, dit blyk die geval te wees dat die boonste linkerkantste hoek van
ons venster is 0, 0.
En die onderste regterhoek my venster is 320, 240.
Met ander woorde, sou ek gesien het juis daardie waardes, het ek net
nieperfek my muis in elk van die hoeke.
Dit is waar in die algemeen in grafiese ontwikkeling, of die gebruik van die
Stanford draagbare biblioteek of die meeste 'n ander, waardeur ons verteenwoordig die top
hoek as 0, 0, en die onderste regterhoek as die wydte komma
hoogte, met behulp van positiewe getalle, selfs al is dit af en na regs.