>> Sprecher 1: Lassen Sie uns nun ein Programm schreiben dass irgendwie interagiert mit meiner Maus.
Insbesondere wollen wir instanziieren, oder erstellen Sie ein Fenster.
Und dann lassen Sie uns hören, so zu sprechen, in diesem Fenster für Mausklicks.
Und sobald wir erkennen einen Mausklick, mit printf drucken lassen Sie die
Koordinaten x Komma y dieser Maus klicken Sie auf, bezogen auf das Fenster.
>> Hier gehen wir.
Lassen Sie uns zuerst gevents.h sind, das ist, eine andere Header-Datei in der Stanford
tragbare Bibliothek, bezieht grafische Veranstaltungen.
Lassen Sie umfassen auch gwindow.h, die enthält Funktionen im Zusammenhang mit Windows.
Lassen Sie uns jetzt erklären, Haupt in der üblichen Weise.
>> Und lassen Sie uns jetzt instanziieren das Fenster.
Gwindow -
wir nennen es Fenster -
newGwindow entspricht.
Und ich werde etwas willkürlich festlegen, eine Breite von 320 Pixel und eine Höhe von
240 Pixel.
>> Jetzt müssen wir zu gehen, um zu hören für Mausereignisse, so zu
sprechen, in diesem Fenster.
Jetzt können Veranstaltungen gehören Klicks oder zieht oder Bewegungen.
Aber jetzt konzentrieren wir nur auf Klicks.
Ich werde absichtlich herbei ein Endlosschleife mit einer while-Konstrukt,
einfach so, dass dieses Programm läuft für immer, oder zumindest, bis ich auf die
X in der rechten oberen Ecke.
>> Um dies zu tun, wollen wir tun, während wahr.
Und dann in der Schleife, können erste Prüfung für die
Maus-Ereignis wie folgt.
Wir werden einen GEvent erklären, so zu sprechen.
>> Wir werden die variablen Ereignis aufrufen.
Und wir werden zu lagern, dass der Rückgabewert GetNextEvent, vorbei
in einem speziellen Konstante, die durch Konvention wird in Großbuchstaben geschrieben,
mouse_event genannt.
Mit anderen Worten, irgendwo in diesem Stanford tragbare Bibliothek, es gibt eine
Konstante bezeichnet MOUSE_CLICED.
Und es ist eine definierte Funktion ist, dass GetNextEvent genannt, deren Zweck in
Leben ist, genau das zu tun.
Hören Sie auf, und dann, wenn es hört, gibt das nächste Ereignis, das ist
durch die Maus des Benutzers ausgelöst.
>> Nun wollen wir prüfen, ob dieses Ereignis ist null.
Denn es ist nicht null, und das ist uns tatsächlich hörte etwas von der
Benutzer-Maus, wir gehen, um fortzufahren jetzt prüfen, welche Art
Veranstaltungs das war.
Wenn getEventType, vorbei an ein Ereignis als Argument, gleich equals
MOUSE_CLICKED, die ein zufällig bestimmte Art von Veranstaltungen, das nur
weitere Konstante in der deklarierte Stanford tragbare Bibliothek.
Nun, wie versprochen, wollen wir jetzt die ausdrucken Koordinaten dieses Mausklick.
Printf "% .0 f.
>> Mit anderen Worten, ich werde drucken heraus einen Fließkommawert.
Aber ich will nicht, etwas zu sehen nach dem Komma.
Also werde ich 0,0 angeben.
Komma% .0 f für die Y-Koordinate als gut.
Backslash n der Nähe Zitat.
>> Und nun bekommen die x-Koordinate lassen von diesem Ereignis.
Das ist die x-Koordinate der Mausklick.
Und dann lassen Sie uns y der Veranstaltung, welche die y-Koordinate
der Mausklick.
>> Lassen Sie uns nun speichern, übersetzen, und führen Sie dieses Programm.
Und wenn ich das tue, sollte es der Fall sein, dass, egal wo ich innerhalb klicken
die Grenzen dieses 320 mal 240 Pixel Fenster, sollte ich dann auf meine
Konsolenfenster die x Komma y-Koordinaten wo ich geklickt.
Machen Klick.
. / Anklicken.
Und es ist das Fenster, das wir vorausgesagt.
>> Nun lassen Sie mich grob klicken Sie in der oberen linken Ecke des Fensters.
In meiner Konsole Bildschirm, sehe ich, dass ich zufällig auf x-Koordinate auf sieben
und y-Koordinaten sieben.
Lassen Sie uns nun grob klicken Sie in der unteren rechten Ecke des Fensters.
Und ich scheinen auf geklickt haben, Pixel-Koordinate 314, 229.
>> Lassen Sie uns jetzt die linke untere Ecke.
Und ich sehe, 6, 233.
Und oben rechts, 305, 4.
>> Mit anderen Worten, es scheint der Fall zu sein, dass die linke obere Ecke des
unser Fenster ist 0, 0.
Und die rechte untere Ecke von meinem Fenster ist 320, 240.
In anderen Worten, die ich gesehen habe genau jene Werte, hatte ich nur
perfekt ausgerichtet ist mein Mauszeiger in jeder dieser Ecken.
Dies gilt im Allgemeinen grafisch Programmierung, ob mit Hilfe der
Stanford tragbare Bibliothek oder fast jede anderen, wobei wir stellen die Top-
Ecke als 0, 0, und die Boden rechten Ecke der Breite Komma
Höhe mit positiven Zahlen, auch wenn es nach unten und nach rechts.