vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Zweiter Aufruf klappt nicht 
Autor: Crosaider
Datum: 16.08.12 01:24

Hallo @ all

Ich habe mir folgende Funktion geschrieben:
Private Function GetKeyState(ByVal time As GameTime, ByVal key As Keys) As _
  KeyState
	Static Dim oldState As New KeyboardState
	Static Dim oldTime As Double
 
	Dim state As New KeyState
 
	If Keyboard.GetState.IsKeyUp(key) Then
		state = KeyState.Up
		oldTime = time.TotalGameTime.TotalMilliseconds
 
	ElseIf Keyboard.GetState.IsKeyDown(key) AndAlso oldState.IsKeyUp(key) Then
		state = KeyState.Down
		oldTime = time.TotalGameTime.TotalMilliseconds
 
	ElseIf oldTime + 400 < time.TotalGameTime.TotalMilliseconds Then
		state = KeyState.Pressed
 
	Else
		state = Nothing
	End If
 
	If state.ToString <> "Up" Then
		Debug.Print(state.ToString)
	End If
 
	oldState = Keyboard.GetState
	Return state
End Function
Diese rufe ich jetzt zweimal hintereinander auf:
Select GetKeyState(gameTime, Keys.Left)
	Case KeyState.Down
		cList.RotateLeft()
 
	Case KeyState.Pressed
		MsgBox("Pressed")
End Select
 
Select Case GetKeyState(gameTime, Keys.Right)
	Case KeyState.Down
		cList.RotateRight()
 
	Case KeyState.Pressed
		MsgBox("Pressed")
End Select
KeyState ist ein ganz normales Enum von mir. Bei dem ersten aufruf klappt das ganze auch noch wunderbar. Beim zweiten (mit der Rechten Taste) funktioniert es nicht mehr. Keine Reaktion - der Rückgabewert ist immer Up. Bei Left geht es weiterhin ohne Probleme (das ganze läuft in einer Endlosschleife). Wenn ich die Abfragen tausche funktioniert immer nur die erste. Woran liegt das?

Das ganze ist ein XNA Projekt:

Keyboard.GetState.IsKeyUp(key) - ist Standart Object von XNA Anwendungen
GameTime - auch XNA Objekt


Hoffe ihr könnt mir helfen. Viele Grüße
Crosaider

Beitrag wurde zuletzt am 16.08.12 um 01:26:34 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zweiter Aufruf klappt nicht959Crosaider16.08.12 01:24
Re: Zweiter Aufruf klappt nicht566CLL16.08.12 08:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel