Похожие презентации:
Programmierung. Modul 24
1.
Modul 24Objektorientierte
Programmierung
Oliver Ziegler
2.
Eingabe (Tastatur und Maus)• Keyboard – Abfrage
• Maus - Buttons
3.
Buttons/Keys• Buttons der Maus und Tastatur haben
Indices (Zahlen) über die sie abgefragt
werden
• Buttons haben Zustände die einzelne
abgefragt werden können
(Down, Pressed, Up)
• Meist in der Update, um den Moment des
Drückens nicht zu verpassen
4.
Funktion vom System• Automatische Funktionen
• Beispiel Tastaturabfrage
Frame 1
Frame 2
Update
Frame 3
Interne Funktion
5.
Button StatesDOWN
PRESSED
UP
GetButtonDown
GetButton
GetButtonUp
Einmalig
Wenn nach unten
gedrückt
Jeden Frame
Während
gedrückt
Einmalig
Wenn Taste
losgelassen
6.
Maustasten• Linke Maustaste = 0
• Rechte Maustaste = 1
• …
MyComponent
Update
0
Input
Rückgabewert == true ?
JA
GetMouse
ButtonUp
true/false
Aktion ausführen
7.
Button States• Im Code wird nicht der State eines bestimmten
Buttons abgefragt
(Rückgabewert : Zustand )
• Sondern, ob der Button einen bestimmten State hat
(Rückgabewert : Wahr oder falsch)
if( Input.GetMouseButtonDown( 0 ) )
{ Tue_Etwas_Beim_Herunterdrücken(); }
// 0 = linke Maustaste
if( Input.GetMouseButton ( 0 ) )
{ Tue_Etwas_Immer_Wieder_Während_Gedrückt(); }
if( Input.GetMouseButtonUp ( 0 ) )
{ Tue_Etwas_Beim_Loslassen(); }
8.
TastaturMyComponent
Update
KeyCode
Input
Rückgabewert == true ?
JA
GetKey
true/false
Aktion ausführen
9.
KeyCode• Ein Enumerator (Enum), der auf Zahlen verweist
• Erhöht die Lesbarkeit
Entwickler
Taste #523
GetKeyUp
Keycode
Entwickler
TASTE A
A
#34
GetKeyUp
LEERTASTE
SPACE
#246
SHIFT
#187
SHIFT
10.
Button States• Im Code wird nicht der State eines bestimmten Buttons
abgefragt
(Rückgabewert : Zustand )
• Sondern, ob der Button einen bestimmten State hat
(Rückgabewert : Wahr oder falsch)
if( Input.KetGeyDown( KeyCode.LeftArrow ) )
{ Tue_Etwas_Beim_Herunterdrücken(); }
if(Input.KetGey ( KeyCode.LeftArrow ) )
{ Tue_Etwas_Immer_Wieder_Während_Gedrückt(); }
if(Input.KetGeyUp( KeyCode.LeftArrow ) )
{ Tue_Etwas_Beim_Loslassen(); }