1 00:00:00,000 --> 00:00:00,320 2 00:00:00,320 --> 00:00:02,520 >> INTERLOCUTEUR 1: Écrivons maintenant un programme qui implique une fenêtre, d'une 3 00:00:02,520 --> 00:00:04,070 cercle, et mon curseur. 4 00:00:04,070 --> 00:00:07,890 En particulier, nous allons instancier un noir cercle sur l'écran, puis 5 00:00:07,890 --> 00:00:10,180 nous allons former à suivre mon curseur. 6 00:00:10,180 --> 00:00:14,650 Donc, si je bouge ma souris vers le haut, bas, gauche ou à droite, le cercle suit le long. 7 00:00:14,650 --> 00:00:20,630 >> Incluons premier gevents.h, de sorte que nous avons accès à des événements graphiques. 8 00:00:20,630 --> 00:00:25,060 Incluons prochaine GObjects, de sorte que nous avons accès à 9 00:00:25,060 --> 00:00:26,480 objets comme des cercles - 10 00:00:26,480 --> 00:00:28,890 ou, plus précisément, d'ovale, comme nous le verrons. 11 00:00:28,890 --> 00:00:32,560 Et puis nous allons inclure gwindow.h, de sorte que nous avons accès 12 00:00:32,560 --> 00:00:34,090 à une fenêtre graphique. 13 00:00:34,090 --> 00:00:36,860 Ensuite, nous allons déclarer principale de la manière habituelle. 14 00:00:36,860 --> 00:00:39,460 Void main Int. 15 00:00:39,460 --> 00:00:43,090 Voyons maintenant instancier, ou créer, une fenêtre avec GWindow. 16 00:00:43,090 --> 00:00:45,390 Et nous appelons la fenêtre variable. 17 00:00:45,390 --> 00:00:47,890 Obtient newGWindow. 18 00:00:47,890 --> 00:00:53,380 Et je vais un peu arbitrairement fais l' fenêtre 320 pixels par 240 pixels. 19 00:00:53,380 --> 00:00:55,280 >> Maintenant, nous devons instancier ce cercle. 20 00:00:55,280 --> 00:00:58,160 Eh bien, il s'avère que le cercle est un cas particulier d'un ovale. 21 00:00:58,160 --> 00:01:01,780 Il se trouve que la largeur et la la hauteur d'un cercle sont égaux. 22 00:01:01,780 --> 00:01:04,599 Donc, nous allons instancier un ovale comme suit. 23 00:01:04,599 --> 00:01:05,770 Goval. 24 00:01:05,770 --> 00:01:07,950 Nous l'appellerons cercle, cependant. 25 00:01:07,950 --> 00:01:11,160 Et cela va obtenir newGOval. 26 00:01:11,160 --> 00:01:14,340 Et nous allons préciser qu'il débutera dans le haut à gauche 27 00:01:14,340 --> 00:01:17,050 coin, dont les coordonnées valent 0 0 virgule. 28 00:01:17,050 --> 00:01:21,360 Et la largeur de ce global vont être 50 par 50 - 29 00:01:21,360 --> 00:01:23,700 en d'autres termes, un cercle. 30 00:01:23,700 --> 00:01:26,090 >> Maintenant, nous avons une fenêtre, nous avons un cercle. 31 00:01:26,090 --> 00:01:28,950 Mais nous n'avons pas encore ajouté que cercle de la fenêtre. 32 00:01:28,950 --> 00:01:32,000 Nous devons donc le faire explicitement. 33 00:01:32,000 --> 00:01:34,760 Ajouter fenêtre, cercle. 34 00:01:34,760 --> 00:01:37,540 Ajoutant ainsi à cette dernière à l'ex. 35 00:01:37,540 --> 00:01:39,080 >> Maintenant, nous allons faire quelque chose pour toujours. 36 00:01:39,080 --> 00:01:42,520 Asseyons-nous dans une boucle infinie, écoute pour les événements de souris. 37 00:01:42,520 --> 00:01:45,270 Spécifiquement pas clique, mais les mouvements de la souris. 38 00:01:45,270 --> 00:01:48,450 Et répondre à ces mouvements en déplaçant le cercle. 39 00:01:48,450 --> 00:01:49,630 Ici nous allons. 40 00:01:49,630 --> 00:01:52,820 Bien vrai. 41 00:01:52,820 --> 00:01:56,710 Voyons maintenant pour un événement avec GEvent, qualifiant l'événement. 42 00:01:56,710 --> 00:01:59,580 Obtient GetNextEvent. 43 00:01:59,580 --> 00:02:03,460 De et laisser spécifiquement essayer d'obtenir un événement de souris d'un certain type. 44 00:02:03,460 --> 00:02:07,250 Disons prochaine assurez-vous que l'événement ne pas égal nulle, de sorte qu'il n'y a 45 00:02:07,250 --> 00:02:08,650 effectivement quelque chose à répondre. 46 00:02:08,650 --> 00:02:11,890 47 00:02:11,890 --> 00:02:19,990 >> Et laisser de côté cocher si getEventType, passant événement, égaux MOUSE_MOVED, 48 00:02:19,990 --> 00:02:23,180 qui est une constante spéciale, déclaré en la Bibliothèque Portable Stanford, qui 49 00:02:23,180 --> 00:02:25,540 signifie que la souris a en effet été déplacé. 50 00:02:25,540 --> 00:02:28,830 >> Ensuite, nous allons procéder à procédez comme suit. 51 00:02:28,830 --> 00:02:29,580 Déclarer un double. 52 00:02:29,580 --> 00:02:31,050 Et je vais l'appeler x. 53 00:02:31,050 --> 00:02:35,470 Stocker précisément en ce que le retour valeur de getX de l'événement. 54 00:02:35,470 --> 00:02:37,710 En d'autres termes, vous méprenez l' coordonnée x de l'endroit où le 55 00:02:37,710 --> 00:02:39,320 souris a été déplacé. 56 00:02:39,320 --> 00:02:44,480 Mais juste pour faire la ligne de cercle jusqu'à exactement au sommet de mon curseur, permettez-moi maintenant 57 00:02:44,480 --> 00:02:49,600 soustraire au large de la largeur de l' cercle lui-même divisé par 2. 58 00:02:49,600 --> 00:02:52,160 En d'autres termes, nous allons soustraire hors de son rayon. 59 00:02:52,160 --> 00:02:54,180 >> Faisons quelque chose de semblable aujourd'hui pour y. 60 00:02:54,180 --> 00:02:57,840 Y obtient obtenir la coordonnée y de cet événement - 61 00:02:57,840 --> 00:02:59,930 c'est-à-déplacer la souris - 62 00:02:59,930 --> 00:03:03,320 moins getWidth du cercle. 63 00:03:03,320 --> 00:03:06,810 Et cette fois, nous ferons le plein de diamètre, le rayon de pas. 64 00:03:06,810 --> 00:03:13,650 Enfin, nous allons définir l'emplacement de la cercle pour être ce nouveau x virgule y. 65 00:03:13,650 --> 00:03:17,670 Voyons maintenant enregistrer, compiler, et exécuter ce programme. 66 00:03:17,670 --> 00:03:19,710 >> Assurez-curseur. 67 00:03:19,710 --> 00:03:22,550 . / Curseur. 68 00:03:22,550 --> 00:03:25,410 Il ya du cercle dans le coin supérieur gauche de la main. 69 00:03:25,410 --> 00:03:29,530 Maintenant, permettez-moi de passer ma souris sur cette fenêtre et de voir si les verrous de cercle 70 00:03:29,530 --> 00:03:32,200 sur celui-ci comme prévu. 71 00:03:32,200 --> 00:03:33,490 Et c'est effectivement le cas. 72 00:03:33,490 --> 00:03:38,380 Notez que précisément, le cercle est au sommet de mon curseur, 73 00:03:38,380 --> 00:03:42,580 parfaitement centré, du fait de la mathématiques nous n'avons impliquant son diamètre et 74 00:03:42,580 --> 00:03:43,830 son rayon. 75 00:03:43,830 --> 00:03:45,395