>> GŁOŚNIK 1: Załóżmy teraz napisać program że w jakiś sposób współdziała z mojej myszki.
W szczególności, niech instancji, lub utworzyć okno.
A potem posłuchajmy, że tak powiem, w tym oknie do kliknięć myszką.
I jak tylko wykryje kliknięcie, niech drukować z printf
współrzędne x przecinek y tej myszy kliknij względem tego okna.
>> Zaczynamy.
Niech najpierw obejmują gevents.h, który jest inny plik nagłówka w Stanford
przenośna biblioteka, która dotyczy do wydarzeń graficznych.
Załóżmy także gwindow.h, które zawiera funkcje związane z systemem Windows.
Załóżmy teraz zadeklarować główną w znany sposób.
>> I niech teraz instancji tego okna.
Gwindow -
nazwijmy to okno -
równa newGwindow.
A ja nieco arbitralnie określić szerokość 320 pikseli i wysokości
240 pikseli.
>> Teraz musimy przejść do słuchania dla zdarzeń myszy, tak aby
mówić, w tym oknie.
Teraz wydarzenia mogą obejmować kliknięć lub ciągnie lub ruchy.
Ale na razie skupimy się tylko na kliknięcia.
Będę celowo wywoływać nieskończonej pętli while z konstruktem,
po prostu tak, że ten program działa na zawsze, a przynajmniej dopóki nie kliknij
X w górnym prawym rogu.
>> Aby to zrobić, zróbmy jednocześnie prawdziwe.
I wtedy wewnątrz tej pętli zaczynamy pierwszy czek na
zdarzeń myszy w następujący sposób.
Będziemy zadeklarować GEvent, że tak powiem.
>> Zadzwonimy zmienną zdarzenia.
I mamy zamiar przechowywać w tym wartość getNextEvent powrócić, przechodząc
W szczególnym stałej, które ze Konwencja jest napisane wielkimi literami,
nazywa MOUSE_EVENT.
Innymi słowy, gdzie, w tym Stanford przenośna biblioteka, jest
stała zwana MOUSE_CLICED.
I jest to funkcja zdefiniowana nazywa getNextEvent, którego celem w
życie jest dokładnie to zrobić.
Słuchać, a gdy słyszy jedną, zwraca się do kolejnego punktu, który jest
uruchomione przez myszy użytkownika.
>> Teraz sprawdź, czy że impreza jest null.
Bo to nie jest pusty, i że jest to rzeczywiście usłyszał coś od
myszy użytkownika, będziemy kontynuować sprawdzić teraz, jaki rodzaj
zdarzenia, które było.
Jeśli getEventType, przechodząc zdarzenie jako argument równa równych
MOUSE_CLICKED, co dzieje się szczególny rodzaj zdarzeń, który jest po prostu
kolejny oświadczył w stałej Stanford przenośną biblioteką.
Teraz zgodnie z obietnicą, teraz wydrukować Współrzędne tego myszy.
Printf "% .0 f.
>> Innymi słowy, mam zamiar wydrukować z wartości zmiennoprzecinkowej.
Ale ja nie chcę, aby cokolwiek zobaczyć po przecinku.
Więc będę określać 0,0.
Przecinek,% .0 f dla współrzędna y oraz.
Odwrotny ukośnik n blisko cytatu.
>> A teraz przejdźmy współrzędna x z tego wydarzenia.
To jest współrzędna x z myszy.
A następnie przejdźmy y zdarzenia, który jest współrzędną y
z myszy.
>> Załóżmy teraz zapisać, skompilować, i uruchomić ten program.
I kiedy zrobić, powinno być w przypadku że bez względu na to, gdzie kliknąć w ciągu
ramach tego 320 na 240 pikseli okno, należy następnie sprawdzić na moim
okno konsoli x współrzędne Y przecinkami gdzie kliknąłem.
Sprawdź, kliknij.
. / Kliknij.
I jest, że okno przewidywaliśmy.
>> Teraz pozwól mi kliknij mniej więcej w górnej lewym rogu okna.
W moim ekranie konsoli, widzę, że stało kliknij współrzędna x siedem
a współrzędna y siedem.
Załóżmy teraz, kliknij mniej więcej w dolnej prawym rogu okna.
I wydaje się, że kliknął pixel współrzędnych 314, 229.
>> Załóżmy teraz zrobić lewy dolny róg.
I widzę, 6, 233.
Oraz w prawym górnym rogu, 305, 4.
>> Innymi słowy, wydaje się być przypadek że górny róg z lewej strony
nasze okno jest 0, 0.
I dolny prawy róg z mojego okna jest 320, 240.
Innymi słowy, nie widziałem właśnie te wartości, miał po prostu
idealnie dopasowane mój kursor myszy W każdym z tych naroży.
To prawda, w ogóle w graficznym programowania, czy za pomocą
Stanford przenośna biblioteka lub najbardziej dowolny inne, w którym możemy reprezentować góry
narożnik jako 0, 0 i dolny prawym rogu jak przecinek szerokości
wysokość, używając liczby dodatnie, nawet choć to w dół i na prawo.