Holzchopf.Input & Holzchopf.InputEx

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Holzchopf

Meisterpacker

Betreff: Holzchopf.Input & Holzchopf.InputEx

BeitragDo, Jan 22, 2009 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ungefähr ein Jahr ist es nun her, als ich mir BMax zugelegt habe, aber erst vor ein paar Tagen fing ich mich an über die Funktionalität von KeyHit und co zu ärgern. Nagut, ehrlich gesagt hab ich mich nicht geärgert, ich brauchte nur ne KeyUp() Funktion, aber wieso den Umweg über mehrere Funktionen die Methoden von Instanzen aufrufen, die dann wiederum nur Funktionen, die Methoden wrappen, ausführen, wählen, wenn man auch direkt BRL.PolledInput quasi neuschreiben kann.

Beschreibung
Holzchopf.Input stellt modifizierte und einige zusätzliche Eingabe-Funktionen zur Verfügung. Damit diese jedoch richtig Funktionieren, muss ein TInput-Objekt erstellt werden, welches dann pro Schleifendurchlauf einmal aktualisiert werden muss (die Aktualisierung nullt auch die Zähler von KeyHit und MouseHit).

Holzchopf.InputEx ist eine Erweiterung zu Holzchopf.Input und beinhaltet zusätzlich eine Input-Routine (die den Programmfluss nicht anhält).

Methoden
Holzchopf.Input
Folgende Methoden sind (nachdem ein TInput-Objekt erstellt wurde) verfügbar:
Arrow AppSuspended() - Anwendung deaktiviert
Arrow AppTerminate() - Anwendung wird über das "X" geschlossen
Arrow FlushKeys() - Löscht übrige Tastatureingaben
Arrow FlushMouse() - Löscht übrige Mauseingaben
Arrow GetChar() - Liest ein Zeichen ein
Arrow KeyDown() - Taste war beim letzten Update gedrückt
Arrow KeyHit() - Taste wurde im letzten Updateintervall gedrückt
Arrow KeyTrigger() - Taste hat im letzten Updateintervall erneut ausgelöst (durch langes Gedrückthalten)
Arrow KeyUp() - Taste wurde im letzten Updateintervall losgelassen
Arrow MouseDown() - Maustaste war beim letzten Update gedrückt
Arrow MouseHit() - Maustaste wurde im letzten Updateintervall gedrückt
Arrow MouseUp() - Maustaste wurde im letzten Updateintervall losgelassen
Arrow MouseX(), MouseY(), MouseZ() - Mauskoordinaten (Z = Scrollradoffset)
Arrow MouseXSpeed(), MouseYSpeed(), MouseZSpeed() - Bewegungsgeschwindigkeit der Mauskoordinate (Z = Scrollrad)
Arrow Update() - Aktualisiert alle Eingaben, ohne Update() läuft nix.

Holzchopf.InputEx
Folgende Methode sind verfügbar, wenn ein TInputEx-Objekt erstellt wurde:
Arrow Input() - Liest einen Text ein
Arrow LeftPart() - Text links vom Cursor
Arrow RightPart() - Text rechts vom Cursor
Arrow Text() - Zuletzt mit Input() bearbeiteter Text

Beispiel
Code: [AUSKLAPPEN]
Import Holzchopf.Input

' Input-Objekt anlegen
Global Input:TInput = New TInput

Graphics 400,300

While Not Input.KeyUp( KEY_ESCAPE )
   ' Eingaben aktualisieren (notwendig!)
   Input.Update()
   Cls
   DrawText "Dieses Fenster wird sich schliessen,",0,0
   DrawText "sobald du Escape loslaesst.", 0,16
   
   DrawText "Und das wirst du kaum glauben:", 0,48
   DrawText "So oft KeyHit() und trotzdem gehts!", 0,64
   For a = 0 To 13
      DrawText "Leertaste gedrueckt: " +Input.KeyHit( KEY_SPACE ), 0, 80+ a *16
   Next
   Flip
Wend
End


Download
https://www.blitzforum.de/upload/file.php?id=4428
(Holzchopf.mod in dein mod Verzeichnis extrahieren, builden, Doc rebuilden, freuen)

Viel Spass damit!

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group