Holzchopf.Input: Types Modinfo Source  

Holzchopf/Input

Modifiziertes BRL.PolledInput Modul.

Types Summary

TInput Input Type.

Types

Type TInput
DescriptionInput Type.
InformationStellt die modifizierten Funktionen zur Verfügung.
Um darauf zugreifen zu können, muss ein TInput-Objekt erstellt werden, danach sind alle Eingabefunktionen als Methoden dieses Objektes verfügbar.
Example
SuperStrict

Import Holzchopf.Input

Graphics 400, 300

' create input object to handle inputs
Global Input:TInput = New TInput

Global TimerL:TTimer = CreateTimer(2)
Global TimerF:TTImer = CreateTimer(60)
Global Timer:TTimer = TimerL

While Not ( Input.KeyHit( KEY_ESCAPE ) Or Input.AppTerminate() )
	Cls
	' absolutely necessary: update input
	' optional: Feed it with Millisecs()
	Input.Update( MilliSecs() )
	
	If Input.KeyHit( KEY_ENTER )
		If Timer = TimerL
			Timer = TimerF
		Else
			Timer = TimerL
		EndIf
	EndIf
	
	' demo
	SetColor 255,255,255
	DrawText "Mouse position:", 0, 0
	 DrawText "X: " +Input.MouseX(), 10, 16
	 DrawText "Y: " +Input.MouseY(), 100, 16
	DrawText "Spacebar:", 0, 48
	 DrawText "Hit: " +Input.KeyHit( KEY_SPACE ), 10, 64
	 DrawText "Down: " +Input.KeyDown( KEY_SPACE ), 90, 64
	 DrawText "Up: " +Input.KeyUp( KEY_SPACE ), 170, 64
	 DrawText "Trigger: " +Input.KeyTrigger( KEY_SPACE ), 250, 64
	SetColor 128, 255, 128
	DrawText "And this module's special:", 0, 96
	 DrawText "Spacebar the 2nd! Same values, since it records", 0, 112
	 DrawText "states at Update() not at Key*-Function call", 0, 128
	 DrawText "Hit: " +Input.KeyHit( KEY_SPACE ), 10, 144
	 DrawText "Down: " +Input.KeyDown( KEY_SPACE ), 90, 144
	 DrawText "Up: " +Input.KeyUp( KEY_SPACE ), 170, 144
	 DrawText "Trigger: " +Input.KeyTrigger( KEY_SPACE ), 250, 144
	DrawText "Also special:", 0, 176
	 DrawText "Mousespeed!", 0, 192
	 DrawText "X: " +Input.MouseXSpeed(), 10, 208
	 DrawText "Y: " +Input.MouseYSpeed(), 100, 208
	 DrawText "Z: " +Input.MouseZSpeed(), 190, 208
	
	SetColor 255,204,0
	DrawText "Press ENTER to turn laggy mode off /on", 0, 284
	
	Flip
	WaitTimer( Timer )
Wend
End
Methods Summary
AppSuspended Anwendung deaktiviert.
AppTerminate Anwendung beendet.
FlushKeys Tastatureingaben zurücksetzen.
FlushMouse Mauseingaben zurücksetzen.
GetChar Taste einlesen.
KeyDown Prüft ob eine Taste gedrückt wird.
KeyHit Prüft ob eine Taste gedrückt wurde.
KeyTrigger Prüft ob eine Taste auslöste.
KeyUp Prüft ob eine Taste losgelassen wurde.
MouseDown Prüft ob eine Maustaste gedrückt wird.
MouseHit Prüft ob eine Maustaste gedrückt wurde.
MouseUp Prüft ob eine Maustaste losgelassen wurde.
MouseX Mausposition X.
MouseXSpeed Mausgeschwindigkeit X.
MouseY Mausposition Y.
MouseYSpeed Mausgeschwindigkeit Y.
MouseZ Mausposition Z.
MouseZSpeed Mausgeschwindigkeit Y.
Update Aktualisiert alle Eingaben.
Method AppSuspended:Byte()
ReturnsTrue, wenn die Anwendung nicht fokussiert ist.
DescriptionAnwendung deaktiviert.
Method AppTerminate:Byte()
ReturnsTrue, wenn das Schliessensymbol gedrückt wurde.
DescriptionAnwendung beendet.
Method FlushKeys()
DescriptionTastatureingaben zurücksetzen.
InformationLöscht die Zustände aller Tasten.
Method FlushMouse()
DescriptionMauseingaben zurücksetzen.
InformationLöscht die Zustände aller Maustasten.
Method GetChar:Byte()
ReturnsASCII-Wert der gedrückten Taste.
DescriptionTaste einlesen.
Method KeyDown:Byte( pKeyCode:Byte )
ReturnsTrue, wenn pKeyCode beim letzten Update()-Aufruf gedrückt war.
DescriptionPrüft ob eine Taste gedrückt wird.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method KeyHit:Byte( pKeyCode:Byte )
ReturnsWie oft die Taste pKeyCode im letzten Update()-Intervall gedrückt wurde.
DescriptionPrüft ob eine Taste gedrückt wurde.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method KeyTrigger:Byte( pKeyCode:Byte )
ReturnsWie oft die Taste pKeyCode im letzten Update()-Intervall ausgelöst hat.
DescriptionPrüft ob eine Taste auslöste.
InformationWenn eine Taste über längere Zeit gedrückt wird, löst sie nach einer bestimmten Zeit in regelmässigen Abständen erneut aus.
Werte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method KeyUp:Byte( pKeyCode:Byte )
ReturnsWie oft die Taste pKeyCode im letzten Update()-Intervall losgelassen wurde.
DescriptionPrüft ob eine Taste losgelassen wurde.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method MouseDown:Byte( pKeyCode:Byte )
ReturnsTrue, wenn pKeyCode beim letzten Update()-Aufruf gedrückt war.
DescriptionPrüft ob eine Maustaste gedrückt wird.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method MouseHit:Byte( pKeyCode:Byte )
ReturnsWie oft die Maustaste pKeyCode im letzten Update()-Intervall gedrückt wurde.
DescriptionPrüft ob eine Maustaste gedrückt wurde.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method MouseUp:Byte( pKeyCode:Byte )
ReturnsWie oft die Maustaste pKeyCode im letzten Update()-Intervall losgelassen wurde.
DescriptionPrüft ob eine Maustaste losgelassen wurde.
InformationWerte für pKeyCode sind in BRL.KeyCodes gespeichert.
Method MouseX:Int()
ReturnsX-Koordinate der Mausposition in Pixel.
DescriptionMausposition X.
Method MouseXSpeed:Int()
ReturnsX-Verschiebung der Mausposition in Pixel.
DescriptionMausgeschwindigkeit X.
Method MouseY:Int()
ReturnsY-Koordinate der Mausposition in Pixel.
DescriptionMausposition Y.
Method MouseYSpeed:Int()
ReturnsY-Verschiebung der Mausposition in Pixel.
DescriptionMausgeschwindigkeit Y.
Method MouseZ:Int()
ReturnsMausradposition.
DescriptionMausposition Z.
Method MouseZSpeed:Int()
ReturnsVeränderung der Mausradposition.
DescriptionMausgeschwindigkeit Y.
Method Update( pTime:Int = 0 )
DescriptionAktualisiert alle Eingaben.
InformationIn Holzchopf.Input muss der Input manuell aktualisiert werden, damit Funktionen wie KeyHit und MouseHit zuverlässige Werte liefern
Damit auch die zeitgesteuerte Funktion KeyTrigger funktioniert, muss der Update-Funktion die Laufzeit übergeben werden. Die Laufzeit kann mit MilliSecs() ermittelt werden.

Module Information

Version1.00
AuthorHolzchopf
LicensePublic Domain