>> SPEAKER 1: Nézzük most írni egy programot , amely magában foglalja egy ablak, egy
kör, és a kurzor.
Különösen, nézzük példányosítani egy fekete kör a képernyőn, majd
nézzük a vonat, hogy kövesd a kurzort.
Tehát, ha mozgok az egér fel, le, balra vagy jobbra, a kör mentén mozog.
>> Nézzük először közé gevents.h, hogy a akkor férhetnek hozzá grafikus eseményeket.
Nézzük a következő közé gobjects, , hogy mi férhet hozzá
tárgyak, mint a kör -
vagy pontosabban, ovális, mint látni fogjuk.
És akkor menjünk közé gwindow.h, azért, hogy hozzáférjenek
egy grafikus ablakot.
Ezután nézzük kijelentem fő a szokásos módon.
Int main semmis.
Nézzük most példányosítani, vagy hozzon létre, egy ablakot GWindow.
És hívjuk változó ablakot.
Gets newGWindow.
És én némileg önkényesen, hogy a ablak 320 x 240 pixel.
>> Most arra van szükség, hogy példányosítani hogy a kör.
Nos, kiderült, hogy egy kört egy speciális esete egy ovális.
Ez csak azért történik, hogy a szélesség és a magassága egy kör egyenlő.
Szóval példányosítani egy ovális a következők szerint.
GOval.
Fogjuk hívni, hogy kör, mégis.
És ez fog kapni newGOval.
És meg fogjuk adni, hogy a indul a bal felső
sarok, amelynek koordinátái 0 vessző 0-ra.
És a szélessége e globális lesz 50 50 -
más szóval, egy kör.
>> Most van egy ablak, van egy kör.
De még nem adott hozzá, hogy kör az ablakhoz.
Így kell tennünk, amelyek kifejezetten.
Add ablakban kör.
Ezáltal hozzá az utóbbi a korábbi.
>> Most valami örökre.
Üljünk egy végtelen ciklusba, hallgatta egér eseményeket.
Pontosabban nem kattan, de mozgását az egér.
És reagálni ezekre a mozgások azáltal, hogy a kör.
Itt vagyunk.
Miközben igaz.
Nézzük meg egy esemény GEvent, amelyben az esemény.
Gets getNextEvent.
És nézzük konkrétan meg kell kérni egér esetén bizonyos típusú.
Nézzük a következő győződjön meg arról, hogy az esemény nem nem egyenlő nulla, így van
valóban valami, hogy válaszoljon.
>> És nézzük következő ellenőrzés esetén getEventType, halad esetben, egyenlő MOUSE_MOVED,
amely egy speciális állandó, bejelentett A Stanford hordozható könyvtár, hogy
azt jelenti, hogy az egér valóban átkerült.
>> Akkor hát folytassa a tegye a következőket.
Állapítsa kettős.
És én hívom x.
Konkrétan tárolja, hogy a visszatérő értéke getX az esemény.
Más szóval, hogy nekem a x-koordinátája, ahol a
egér költözött.
De csak azért, hogy a kör line up Pontosan tetején a kurzor, hadd már
vonjuk ki a szélessége a kör maga osztva 2.
Más szóval, nézzük kivonás off sugara.
>> Csináljunk valami hasonlót most y.
Y kapja, hogy az y-koordináta Az, hogy az esemény -
azaz, a mozgatott egér -
mínusz getwidth a kör.
És ezúttal megteszem a teljes átmérőjű, nem a sugár.
Végül nézzük meg a helyét a kör is, hogy az új x vessző y.
Nézzük most menteni, fordítani, és futtassa ezt a programot.
>> Legyen kurzor.
. / Kurzor.
Ott van a kör bal felső sarkában.
Nos, hadd mozgatni a kurzort, hogy ablakot, és nézd meg a kör reteszeket
rá, mint várták.
És valóban így van.
Figyeljük meg, hogy konkrétan, a kör áll a legtetején a kurzor,
tökéletesen középre, mert a matematikai tettünk bevonásával átmérője és
sugara.