Programmierung. Modul 24

Слайд 2

Keyboard – Abfrage
Maus - Buttons

Eingabe (Tastatur und Maus)

Keyboard – Abfrage Maus - Buttons Eingabe (Tastatur und Maus)

Слайд 3

Buttons der Maus und Tastatur haben Indices (Zahlen) über die sie abgefragt

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

Buttons/Keys

Слайд 4

Automatische Funktionen
Beispiel Tastaturabfrage

Update

Interne Funktion

Frame 1

Frame 2

Frame 3

Funktion vom System

Automatische Funktionen Beispiel Tastaturabfrage Update Interne Funktion Frame 1 Frame 2 Frame 3 Funktion vom System

Слайд 5

Einmalig
Wenn nach unten gedrückt

Jeden Frame
Während gedrückt

GetButton

PRESSED

GetButtonDown

DOWN

GetButtonUp

UP

Einmalig
Wenn Taste losgelassen

Button States

Einmalig Wenn nach unten gedrückt Jeden Frame Während gedrückt GetButton PRESSED GetButtonDown

Слайд 6

Linke Maustaste = 0
Rechte Maustaste = 1

Input

GetMouseButtonUp

MyComponent

0

Update

true/false

Rückgabewert == true ?

Aktion

Linke Maustaste = 0 Rechte Maustaste = 1 … Input GetMouseButtonUp MyComponent
ausführen

JA

Maustasten

Слайд 7

Im Code wird nicht der State eines bestimmten Buttons abgefragt (Rückgabewert : Zustand

Im Code wird nicht der State eines bestimmten Buttons abgefragt (Rückgabewert :
)
Sondern, ob der Button einen bestimmten State hat
(Rückgabewert : Wahr oder falsch)

if( Input.GetMouseButtonDown( 0 ) ) // 0 = linke Maustaste
{ Tue_Etwas_Beim_Herunterdrücken(); }
if( Input.GetMouseButton ( 0 ) )
{ Tue_Etwas_Immer_Wieder_Während_Gedrückt(); }
if( Input.GetMouseButtonUp ( 0 ) )
{ Tue_Etwas_Beim_Loslassen(); }

Button States

Слайд 8

Input

GetKey

MyComponent

KeyCode

Update

true/false

Rückgabewert == true ?

Aktion ausführen

JA

Tastatur

Input GetKey MyComponent KeyCode Update true/false Rückgabewert == true ? Aktion ausführen JA Tastatur

Слайд 9

Ein Enumerator (Enum), der auf Zahlen verweist
Erhöht die Lesbarkeit

GetKeyUp

Taste #523

Ein Enumerator (Enum), der auf Zahlen verweist Erhöht die Lesbarkeit GetKeyUp Taste
GetKeyUp

Keycode

A

#34

SPACE

#246

LEERTASTE

SHIFT

#187

SHIFT

TASTE A

Entwickler

Entwickler

KeyCode

Слайд 10

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.KetGeyDown( KeyCode.LeftArrow ) ) { Tue_Etwas_Beim_Herunterdrücken(); } if(Input.KetGey ( KeyCode.LeftArrow )
}
if(Input.KetGeyUp( KeyCode.LeftArrow ) )
{ Tue_Etwas_Beim_Loslassen(); }

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)

Слайд 11

Position des Mauszeigers auf dem Screen
(in Pixeln)

Input.mousePosition

x

y

Maus - Position

Position des Mauszeigers auf dem Screen (in Pixeln) Input.mousePosition x y Maus - Position

Слайд 12

Via Raycasting (Siehe Folie Raycasting)
Häufigstes Raycasting ? Interaktion in 2D ? Projektion

Via Raycasting (Siehe Folie Raycasting) Häufigstes Raycasting ? Interaktion in 2D ?
in 3D
Ausgangspunkt: Maus - Position

KameraPosition

Maus-Interaktion

Слайд 13

public void Update()
{
Ray charles = Camera.main.ScreenpointToRay(Input.mousePosition);
//Erzeugt einen Strahl von der Mausposition

public void Update() { Ray charles = Camera.main.ScreenpointToRay(Input.mousePosition); //Erzeugt einen Strahl von
auf dem Kamerabild in Richtung der Kamera
if(Physics.Raycast(charles))
{
// Maus ist über… irgendetwas
}
}

Kameras haben diese Funktion bereits
? Erstellen eines Strahls anhand einer 2D-Pos.

Maus-Position ? Raycast

Имя файла: Programmierung.-Modul-24.pptx
Количество просмотров: 27
Количество скачиваний: 0