1 00:00:00,000 --> 00:00:00,320 2 00:00:00,320 --> 00:00:02,520 >> GARSIAKALBIS 1: Leiskite dabar parašyti programą kuris apima langų, A 3 00:00:02,520 --> 00:00:04,070 apskritimas, ir mano žymeklis. 4 00:00:04,070 --> 00:00:07,890 Visų pirma, leiskite instancija juoda ratas ant ekrano, ir tada 5 00:00:07,890 --> 00:00:10,180 tegul mokyti jį sekti mano žymeklį. 6 00:00:10,180 --> 00:00:14,650 Taigi, jei aš perkelti savo pelę aukštyn, žemyn, kairėn arba į dešinę, ratas taip kartu. 7 00:00:14,650 --> 00:00:20,630 >> Tegul pirmasis apima gevents.h, kad mes turime prieigą prie grafikos renginiuose. 8 00:00:20,630 --> 00:00:25,060 Tegul šalia yra gobjects, kad mes turime prieigą prie 9 00:00:25,060 --> 00:00:26,480 objektus, pavyzdžiui, apskritimai - 10 00:00:26,480 --> 00:00:28,890 arba tiksliau, ovalai, kaip matysime. 11 00:00:28,890 --> 00:00:32,560 Ir tada tegul apima gwindow.h, kad mes turime galimybę 12 00:00:32,560 --> 00:00:34,090 į grafinį langą. 13 00:00:34,090 --> 00:00:36,860 Be to, galime paskelbti Pagrindinis įprastu būdu. 14 00:00:36,860 --> 00:00:39,460 Int main negaliojančiu. 15 00:00:39,460 --> 00:00:43,090 Leiskite dabar instancija, arba kurti, langas su GWindow. 16 00:00:43,090 --> 00:00:45,390 Ir mes vadiname kintamojo langą. 17 00:00:45,390 --> 00:00:47,890 Paimama newGWindow. 18 00:00:47,890 --> 00:00:53,380 Ir aš šiek tiek savavališkai padaryti langų 320 pikselių x 240 pikselių. 19 00:00:53,380 --> 00:00:55,280 >> Dabar mums reikia instancija kad ratas. 20 00:00:55,280 --> 00:00:58,160 Na, atrodo, kad ratas yra ypatingas atvejis ovalą. 21 00:00:58,160 --> 00:01:01,780 Jis tiesiog taip atsitinka, kad plotis ir Apskritimo aukštis lygūs. 22 00:01:01,780 --> 00:01:04,599 Taigi leiskite instancija ovalo taip. 23 00:01:04,599 --> 00:01:05,770 GOval. 24 00:01:05,770 --> 00:01:07,950 Mes jį vadiname ratas, nors. 25 00:01:07,950 --> 00:01:11,160 Ir tai vyksta gauti newGOval. 26 00:01:11,160 --> 00:01:14,340 Ir mes ketiname nurodyti, kad prasidės viršutiniame kairiajame 27 00:01:14,340 --> 00:01:17,050 kampas, kurio koordinatės yra 0 kablelis 0. 28 00:01:17,050 --> 00:01:21,360 Ir ši visuotinė plotis ketiname būti 50 iki 50 - 29 00:01:21,360 --> 00:01:23,700 Kitaip tariant, ratas. 30 00:01:23,700 --> 00:01:26,090 >> Dabar mes turime langą mes turime ratą. 31 00:01:26,090 --> 00:01:28,950 Bet mes dar pridūrė, kad ratas prie lango. 32 00:01:28,950 --> 00:01:32,000 Taigi, mes turime padaryti, kad aiškiai. 33 00:01:32,000 --> 00:01:34,760 Pridėti langą, ratą. 34 00:01:34,760 --> 00:01:37,540 Taigi pridedant pastaroji iki buvusios. 35 00:01:37,540 --> 00:01:39,080 >> Dabar galime padaryti kažką amžinai. 36 00:01:39,080 --> 00:01:42,520 Tegul sėdi begalinis ciklas, klausant pelės įvykių. 37 00:01:42,520 --> 00:01:45,270 Tiksliau ne paspaudžia, bet judesių pele. 38 00:01:45,270 --> 00:01:48,450 Ir reaguoti į tokio judėjimo juda ratu. 39 00:01:48,450 --> 00:01:49,630 Čia mes einame. 40 00:01:49,630 --> 00:01:52,820 Nors tiesa. 41 00:01:52,820 --> 00:01:56,710 Leiskite patikrinti įvykio su GEvent, vadindami jį įvykis. 42 00:01:56,710 --> 00:01:59,580 Paimama getNextEvent. 43 00:01:59,580 --> 00:02:03,460 Ir tegul specialiai bandyti gauti pelės įvykis kai tipo. 44 00:02:03,460 --> 00:02:07,250 Tegul šalia įsitikinkite, kad įvykis nėra nėra lygi nuliui, todėl, kad yra 45 00:02:07,250 --> 00:02:08,650 iš tikrųjų ką atsakyti. 46 00:02:08,650 --> 00:02:11,890 47 00:02:11,890 --> 00:02:19,990 >> Ir tegul kitą patikrinti, ar getEventType, einančios atveju lygu MOUSE_MOVED, 48 00:02:19,990 --> 00:02:23,180 kuri yra speciali konstanta, paskelbė Stanfordo Nešiojami biblioteka, kad 49 00:02:23,180 --> 00:02:25,540 reiškia, kad pelės tikrųjų buvo perkeltas. 50 00:02:25,540 --> 00:02:28,830 >> Tada leiskite pereiti prie atlikite šiuos veiksmus. 51 00:02:28,830 --> 00:02:29,580 Paskelbti dvigubai. 52 00:02:29,580 --> 00:02:31,050 Ir aš tai vadinu x. 53 00:02:31,050 --> 00:02:35,470 Konkrečiai saugojimo, kad grįžti vertė getX renginio. 54 00:02:35,470 --> 00:02:37,710 Kitaip tariant, gauti man x koordinatė, kurioje 55 00:02:37,710 --> 00:02:39,320 pelė buvo perkelta į. 56 00:02:39,320 --> 00:02:44,480 Bet tik, kad ratas atsisėdo būtent ant mano žymeklį, leiskite man dabar 57 00:02:44,480 --> 00:02:49,600 atimti ne į plotį pats ratas padalintas iš 2. 58 00:02:49,600 --> 00:02:52,160 Kitaip tariant, galime atimti nuo savo spinduliu. 59 00:02:52,160 --> 00:02:54,180 >> Darom kažką panašaus dabar y. 60 00:02:54,180 --> 00:02:57,840 Metai gauna gauti y koordinatė Šio atveju - 61 00:02:57,840 --> 00:02:59,930 tai yra, perkelti pelės - 62 00:02:59,930 --> 00:03:03,320 atėmus getWidth apskritimo. 63 00:03:03,320 --> 00:03:06,810 Ir šį kartą mes padarysime visa skersmens, ne spindulys. 64 00:03:06,810 --> 00:03:13,650 Galiausiai, galime nustatyti vietą ratas būti, kad nauja x kablelis m. 65 00:03:13,650 --> 00:03:17,670 Leiskite dabar įrašyti, kaupti, ir paleisti šią programą. 66 00:03:17,670 --> 00:03:19,710 >> Padaryti žymeklį. 67 00:03:19,710 --> 00:03:22,550 . / Žymeklis. 68 00:03:22,550 --> 00:03:25,410 Yra ir apskritimas viršutiniame kairiajame kampe. 69 00:03:25,410 --> 00:03:29,530 Dabar leiskite man perkelti savo pele per tą langą ir pamatyti, jei apskritimo skląsčiai 70 00:03:29,530 --> 00:03:32,200 į jį, kaip tikėtasi. 71 00:03:32,200 --> 00:03:33,490 Ir iš tiesų tai daro. 72 00:03:33,490 --> 00:03:38,380 Atkreipkite dėmesį, kad specialiai, ratas yra pačiame viršuje mano žymeklio, 73 00:03:38,380 --> 00:03:42,580 puikiai centre, nes iš matematikos mes įtraukti savo skersmenį ir 74 00:03:42,580 --> 00:03:43,830 jo spindulys. 75 00:03:43,830 --> 00:03:45,395