1 00:00:00,000 --> 00:00:00,260 2 00:00:00,260 --> 00:00:02,980 >> Sprecher 1: Lassen Sie uns nun ein Programm schreiben dass irgendwie interagiert mit meiner Maus. 3 00:00:02,980 --> 00:00:06,150 Insbesondere wollen wir instanziieren, oder erstellen Sie ein Fenster. 4 00:00:06,150 --> 00:00:09,700 Und dann lassen Sie uns hören, so zu sprechen, in diesem Fenster für Mausklicks. 5 00:00:09,700 --> 00:00:12,940 Und sobald wir erkennen einen Mausklick, mit printf drucken lassen Sie die 6 00:00:12,940 --> 00:00:17,830 Koordinaten x Komma y dieser Maus klicken Sie auf, bezogen auf das Fenster. 7 00:00:17,830 --> 00:00:18,880 >> Hier gehen wir. 8 00:00:18,880 --> 00:00:24,670 Lassen Sie uns zuerst gevents.h sind, das ist, eine andere Header-Datei in der Stanford 9 00:00:24,670 --> 00:00:27,670 tragbare Bibliothek, bezieht grafische Veranstaltungen. 10 00:00:27,670 --> 00:00:33,480 Lassen Sie umfassen auch gwindow.h, die enthält Funktionen im Zusammenhang mit Windows. 11 00:00:33,480 --> 00:00:37,390 Lassen Sie uns jetzt erklären, Haupt in der üblichen Weise. 12 00:00:37,390 --> 00:00:39,680 >> Und lassen Sie uns jetzt instanziieren das Fenster. 13 00:00:39,680 --> 00:00:40,830 Gwindow - 14 00:00:40,830 --> 00:00:42,180 wir nennen es Fenster - 15 00:00:42,180 --> 00:00:44,710 newGwindow entspricht. 16 00:00:44,710 --> 00:00:49,150 Und ich werde etwas willkürlich festlegen, eine Breite von 320 Pixel und eine Höhe von 17 00:00:49,150 --> 00:00:51,460 240 Pixel. 18 00:00:51,460 --> 00:00:54,380 >> Jetzt müssen wir zu gehen, um zu hören für Mausereignisse, so zu 19 00:00:54,380 --> 00:00:56,020 sprechen, in diesem Fenster. 20 00:00:56,020 --> 00:00:59,450 Jetzt können Veranstaltungen gehören Klicks oder zieht oder Bewegungen. 21 00:00:59,450 --> 00:01:01,400 Aber jetzt konzentrieren wir nur auf Klicks. 22 00:01:01,400 --> 00:01:05,740 Ich werde absichtlich herbei ein Endlosschleife mit einer while-Konstrukt, 23 00:01:05,740 --> 00:01:08,770 einfach so, dass dieses Programm läuft für immer, oder zumindest, bis ich auf die 24 00:01:08,770 --> 00:01:10,450 X in der rechten oberen Ecke. 25 00:01:10,450 --> 00:01:13,670 >> Um dies zu tun, wollen wir tun, während wahr. 26 00:01:13,670 --> 00:01:16,900 Und dann in der Schleife, können erste Prüfung für die 27 00:01:16,900 --> 00:01:18,430 Maus-Ereignis wie folgt. 28 00:01:18,430 --> 00:01:21,200 Wir werden einen GEvent erklären, so zu sprechen. 29 00:01:21,200 --> 00:01:22,920 >> Wir werden die variablen Ereignis aufrufen. 30 00:01:22,920 --> 00:01:27,740 Und wir werden zu lagern, dass der Rückgabewert GetNextEvent, vorbei 31 00:01:27,740 --> 00:01:31,970 in einem speziellen Konstante, die durch Konvention wird in Großbuchstaben geschrieben, 32 00:01:31,970 --> 00:01:34,060 mouse_event genannt. 33 00:01:34,060 --> 00:01:36,800 Mit anderen Worten, irgendwo in diesem Stanford tragbare Bibliothek, es gibt eine 34 00:01:36,800 --> 00:01:39,120 Konstante bezeichnet MOUSE_CLICED. 35 00:01:39,120 --> 00:01:43,040 Und es ist eine definierte Funktion ist, dass GetNextEvent genannt, deren Zweck in 36 00:01:43,040 --> 00:01:44,360 Leben ist, genau das zu tun. 37 00:01:44,360 --> 00:01:48,330 Hören Sie auf, und dann, wenn es hört, gibt das nächste Ereignis, das ist 38 00:01:48,330 --> 00:01:50,500 durch die Maus des Benutzers ausgelöst. 39 00:01:50,500 --> 00:01:53,710 >> Nun wollen wir prüfen, ob dieses Ereignis ist null. 40 00:01:53,710 --> 00:01:57,400 Denn es ist nicht null, und das ist uns tatsächlich hörte etwas von der 41 00:01:57,400 --> 00:02:00,450 Benutzer-Maus, wir gehen, um fortzufahren jetzt prüfen, welche Art 42 00:02:00,450 --> 00:02:03,001 Veranstaltungs das war. 43 00:02:03,001 --> 00:02:09,050 Wenn getEventType, vorbei an ein Ereignis als Argument, gleich equals 44 00:02:09,050 --> 00:02:14,070 MOUSE_CLICKED, die ein zufällig bestimmte Art von Veranstaltungen, das nur 45 00:02:14,070 --> 00:02:17,110 weitere Konstante in der deklarierte Stanford tragbare Bibliothek. 46 00:02:17,110 --> 00:02:21,400 Nun, wie versprochen, wollen wir jetzt die ausdrucken Koordinaten dieses Mausklick. 47 00:02:21,400 --> 00:02:26,000 Printf "% .0 f. 48 00:02:26,000 --> 00:02:28,340 >> Mit anderen Worten, ich werde drucken heraus einen Fließkommawert. 49 00:02:28,340 --> 00:02:30,240 Aber ich will nicht, etwas zu sehen nach dem Komma. 50 00:02:30,240 --> 00:02:32,260 Also werde ich 0,0 angeben. 51 00:02:32,260 --> 00:02:36,380 Komma% .0 f für die Y-Koordinate als gut. 52 00:02:36,380 --> 00:02:38,000 Backslash n der Nähe Zitat. 53 00:02:38,000 --> 00:02:41,260 >> Und nun bekommen die x-Koordinate lassen von diesem Ereignis. 54 00:02:41,260 --> 00:02:43,530 Das ist die x-Koordinate der Mausklick. 55 00:02:43,530 --> 00:02:46,990 Und dann lassen Sie uns y der Veranstaltung, welche die y-Koordinate 56 00:02:46,990 --> 00:02:48,170 der Mausklick. 57 00:02:48,170 --> 00:02:50,920 >> Lassen Sie uns nun speichern, übersetzen, und führen Sie dieses Programm. 58 00:02:50,920 --> 00:02:54,160 Und wenn ich das tue, sollte es der Fall sein, dass, egal wo ich innerhalb klicken 59 00:02:54,160 --> 00:02:58,850 die Grenzen dieses 320 mal 240 Pixel Fenster, sollte ich dann auf meine 60 00:02:58,850 --> 00:03:03,570 Konsolenfenster die x Komma y-Koordinaten wo ich geklickt. 61 00:03:03,570 --> 00:03:05,430 Machen Klick. 62 00:03:05,430 --> 00:03:07,890 . / Anklicken. 63 00:03:07,890 --> 00:03:09,630 Und es ist das Fenster, das wir vorausgesagt. 64 00:03:09,630 --> 00:03:14,300 >> Nun lassen Sie mich grob klicken Sie in der oberen linken Ecke des Fensters. 65 00:03:14,300 --> 00:03:18,150 In meiner Konsole Bildschirm, sehe ich, dass ich zufällig auf x-Koordinate auf sieben 66 00:03:18,150 --> 00:03:19,700 und y-Koordinaten sieben. 67 00:03:19,700 --> 00:03:22,840 Lassen Sie uns nun grob klicken Sie in der unteren rechten Ecke des Fensters. 68 00:03:22,840 --> 00:03:27,890 Und ich scheinen auf geklickt haben, Pixel-Koordinate 314, 229. 69 00:03:27,890 --> 00:03:30,330 >> Lassen Sie uns jetzt die linke untere Ecke. 70 00:03:30,330 --> 00:03:32,430 Und ich sehe, 6, 233. 71 00:03:32,430 --> 00:03:35,680 Und oben rechts, 305, 4. 72 00:03:35,680 --> 00:03:38,810 >> Mit anderen Worten, es scheint der Fall zu sein, dass die linke obere Ecke des 73 00:03:38,810 --> 00:03:40,655 unser Fenster ist 0, 0. 74 00:03:40,655 --> 00:03:46,080 Und die rechte untere Ecke von meinem Fenster ist 320, 240. 75 00:03:46,080 --> 00:03:48,990 In anderen Worten, die ich gesehen habe genau jene Werte, hatte ich nur 76 00:03:48,990 --> 00:03:52,180 perfekt ausgerichtet ist mein Mauszeiger in jeder dieser Ecken. 77 00:03:52,180 --> 00:03:54,960 Dies gilt im Allgemeinen grafisch Programmierung, ob mit Hilfe der 78 00:03:54,960 --> 00:03:58,860 Stanford tragbare Bibliothek oder fast jede anderen, wobei wir stellen die Top- 79 00:03:58,860 --> 00:04:03,050 Ecke als 0, 0, und die Boden rechten Ecke der Breite Komma 80 00:04:03,050 --> 00:04:06,810 Höhe mit positiven Zahlen, auch wenn es nach unten und nach rechts. 81 00:04:06,810 --> 00:04:08,615