x9/Scripte/Input ed

Bisher unterstützt die Engine nur Maus und Tastatur, also noch keinen Joystick.

Jede Eingabe muss über Script-Funktionen abgefragt werden (im Gegensatz zu Callback-Systemen). Die Funktionen geben jeweils die Eingaben während des letzten Frames an.

Table of Contents

Tastatur ed

Die Abfrage-Funktionen für die Tastatur sind:

Die Tasten werden dabei durch Konstanten repräsentiert (z.B. KeyA für die A-Taste, KeySpace für die Leertaste).

Beispiel:

void OnIterate()

   // Ego durch Pfeiltasten bewegen
   if GetKey(KeyLeft)
    // einen Mauszeiger erstellen
    picture cursor = new Picture(v_0, 0.1, 0.1, LoadTexture("cursor.jpg"))
=== Maus ===

void OnIterate()

    // Mauszeiger bewegen
    cursor.pos = MouseRel

noch ein Beispiel:

void main()
Vorsicht

while true
    if GetKeyDown(KeyAny)
        break

wird nie abbrechen, da ein Tastendruck erst im nächsten Frame von GetKeyDown() erkannt wird. Dazu ist ein wait_of() in der Schleife nötig um überhaupt den Frame abzuschließen und einen neuen zu beginnen.

Maus ed

Die Abfrage-Funktionen für die Tastatur sind:

Die Maus-Position und Bewegung ist in folgenden Variablen gespeichert:

Beispiel:

void main()

    // einen Mauszeiger erstellen
    picture cursor = CreatePicture( v0, 0.1, 0.1, LoadTexture("cursor.jpg") )

    while true

        // Mauszeiger bewegen
    Ego.ang = v_0

void OnIterate()
noch ein Beispiel:
    // Dragball-Rotation
    if GetButton(0)
        vector d_ang = vector(MouseD.y * 0.003, MouseD.x * 0.003, 0)
        Ego.ang = VecAngAdd(d_ang, Ego.ang)