>> SPIKA 1: Hebu sasa kuandika mpango kwamba kwa namna fulani inaingiliana na panya yangu.
Hasa, hebu instantiate, au kuunda dirisha.
Na kisha hebu kusikiliza, hivyo kusema, ndani ya dirisha kwa Clicks mouse.
Na kwa haraka kama sisi kuchunguza click panya, hebu magazeti na printf
kuratibu x comma y ya kwamba panya click, jamaa na dirisha.
>> Hapa sisi kwenda.
Hebu kwanza ni pamoja na gevents.h, ambayo ni header faili mwingine katika Stanford
portable maktaba ambayo inahusiana na matukio graphical.
Hebu pia ni pamoja na gwindow.h, ambayo ina kazi kuhusiana na Windows.
Hebu sasa kutangaza kuu katika njia ya kawaida.
>> Na hebu sasa instantiate dirisha hiyo.
Gwindow -
tutaweza kuiita dirisha -
sawa na newGwindow.
Na mimi itabidi bayana kwa kiasi fulani kiholela upana wa 320 pixels na urefu wa
240 saizi.
>> Sasa tunahitaji kuendelea kusikiliza kwa ajili ya matukio panya, hivyo
kusema, ndani ya dirisha hiyo.
Sasa matukio inaweza pamoja na Clicks au drags au harakati.
Lakini kwa sasa tutaweza kuzingatia tu juu ya Clicks.
Mimi nina kwenda kwa makusudi kutumika usio kitanzi na wakati kujenga,
tu ili anaendesha mpango huu milele, au angalau mpaka mimi bonyeza
X katika juu mkono wa kulia kona.
>> Kwa kufanya hivyo, hebu kufanya wakati kweli.
Na kisha ndani ya kitanzi, lets kuangalia kwanza kwa
panya tukio kama ifuatavyo.
Tutaweza kutangaza GEvent, hivyo kusema.
>> Tutamwita tukio kutofautiana.
Na sisi ni kwenda kuhifadhi katika kurudi thamani ya getNextEvent, kupita
mara kwa mara katika maalum, ambayo kwa mkataba imeandikwa katika mechi zote,
aitwaye MOUSE_EVENT.
Kwa maneno mengine, mahali fulani katika hii Stanford portable maktaba, kuna
mara kwa mara aitwaye MOUSE_CLICED.
Na kuna kazi hufafanuliwa kwamba ni aitwaye getNextEvent, ambao lengo katika
maisha ni kufanya hasa kwamba.
Kusikiliza kwa, na kisha wakati kusikia moja, anarudi tukio la pili kwamba
yalisababisha na mtumiaji panya.
>> Sasa hebu angalia kama tukio hilo kuwa ni null.
Kwa sababu si null, na kwamba ni sisi kweli kusikia kitu kutoka
mtumiaji panya, tunakwenda kuendelea kuangalia sasa ni aina gani
ya tukio hilo alikuwa.
Kama getEventType, kupita tukio kama hoja, sawa na usawa
MOUSE_CLICKED, ambayo hufanyika kuwa aina maalum ya matukio, ambayo ni
mara kwa mara nyingine alitangaza katika Stanford portable maktaba.
Sasa kama alivyoahidi, hebu sasa magazeti nje kuratibu ya kwamba click mouse.
Printf "% 0.0 f.
>> Kwa maneno mengine, mimi nina kwenda magazeti nje yaliyo hatua thamani.
Lakini mimi sitaki kuona chochote baada ya uhakika decimal.
Kwa hiyo nitakuwa bayana 0.0.
Comma,% 0.0 f kwa y kuratibu vilevile.
Backslash n quote karibu.
>> Na sasa hebu kupata x-kuratibu ya tukio hilo.
Hiyo ni x-kuratibu ya click mouse.
Na kisha hebu kupata y ya tukio hilo, ambayo ni y kuratibu
ya click mouse.
>> Hebu sasa kuokoa, kukusanya, na kuendesha mpango huu.
Na wakati mimi kufanya, ni lazima kuwa kesi kwamba hakuna jambo ambapo mimi bonyeza ndani ya
mipaka ya hii 320 na 240 pixel dirisha, mimi lazima basi kuona yangu
console dirisha x comma y-kuratibu wapi mimi clicked.
Kufanya click.
. / Click.
Na kuna kuwa dirisha sisi alikadiria.
>> Sasa basi mimi bonyeza takribani katika juu mkono wa kushoto kona ya dirisha.
Katika console yangu screen, naona ya kuwa mimi kutokea kwa bonyeza x-kuratibu saba
na y kuratibu saba.
Hebu sasa bonyeza takribani katika chini upande wa kulia kona ya dirisha.
Na mimi kuonekana kuwa clicked juu ya pixel kuratibu 314, 229.
>> Hebu sasa kufanya kona ya chini kushoto.
Na mimi kuona 6, 233.
Na kona ya juu haki, 305, 4.
>> Kwa maneno mengine, inaonekana kuwa kesi kuwa juu upande wa kushoto kona ya
dirisha yetu ni 0, 0.
Na chini ya mkono wa kulia kona ya dirisha yangu ni 320, 240.
Kwa maneno mengine, mimi ingekuwa kuonekana hasa wale maadili, alikuwa I just
kikamilifu iliyokaa panya yangu mshale katika kila moja ya pembe hizo.
Hii ni kweli kwa ujumla katika graphical programu, kama kutumia
Stanford portable maktaba au zaidi yoyote mengine, ambapo sisi kuwakilisha juu
kona kama 0, 0, na chini upande wa kulia kona kama upana comma
urefu, kwa kutumia idadi chanya, hata ingawa ni chini na kulia.