Ryo Saeba 1000
21.11.2006, 16:54
Ob dies ein Geheimnis ist oder nicht.. mir war dies bisher nie aufgefallen.
Ich ging bis jetzt immer davon aus, dass der Keypatch immer nur in dem Moment etwas registriert, wenn eine Taste gedrückt oder wenn sie losgelassen wird.
Er liefert aso einen Wert an die Vari, wenn man die Taste drückt und wenn man sie loslässt, nicht aber während man die Taste gedrückt hält.
Nun habe ich darauf mein Projekt aufgebaut und bin auf etwas imho merkwürdiges gestoßen:
Ich hab das Problem mal als kleines Testprojekt verpackt und hochgeladen.
komisch.zip (http://www.goryosaeba.de/ftp/komisch.zip)
Im Projekt wird die rechte und untere Pfeiltaste per Keypatch in einem PP-Mapevent abgefragt. Sowohl bei einem Tastendruck als auch beim Loslassen werden entsprechend die vier ersten Variablen jeweils um den Wert "1" erhöht (außerdem hab ich mal einen Sound abspielen lassen, um das ganze zu verdeutlichen).
Um den "Fehler" zu erzeugen muss man wie folgt vorgehen:
wenn man im Projekt die rechte Pfeiltaste drückt und gedrückt hält, dann währenddessen die untere Pfeiltaste drückt und gedrückt hält und nun während man die untere weiterhin gedrückthält, die rechte loslässt, und dann nach ein paar weiteren Sekunden die untere auch wieder loslässt und dann einen Blick mit F9 auf die ersten 4 Variablen wirft, dann sieht man, dass die Variable für das Drücken der unteren Pfeiltaste den Wert "2" hat, während die anderen auf "1" stehen.
Eigentlich hat man ja nur ein mal die rechte Pfeiltaste gedrückt, einmal die untere gedrückt, einmal die rechte losgelassen und einmal die untere losgelassen.
Eigentlich müssten doch nun alle Variablen auf "1" stehen, aber beim loslassen der rechten Pfeiltaste, wird gleichzeitig ein "neuer Druck" der unteren Pfeiltaste registriert, obwohl man nicht neu gedrückt hat, sondern immer noch drauf ist.
Bevor ich versuche Ineluki damit auf den Geist zu gehen, würde ich doch gern wissen ob jemand von euch das Problem kennt, oder ob ich einfach irgendwo einen Fehler im Projekt hab (was mMn unwahrscheinlich ist, so klein wie das ist).
Ist jetzt nicht so, dass ich meinen Code nicht umschreiben könnte, um das Problem zu umgehen, aber es würde gern noch ein paar weitere Meinungen dazu einholen oO
Alternativ kann der Thread natürlich auch missbraucht werden, um auf andere "Merkwürdigkeiten" des Keypatches einzugehen, ich bin sicher da gibt es noch mehr zu lüften.
Ich ging bis jetzt immer davon aus, dass der Keypatch immer nur in dem Moment etwas registriert, wenn eine Taste gedrückt oder wenn sie losgelassen wird.
Er liefert aso einen Wert an die Vari, wenn man die Taste drückt und wenn man sie loslässt, nicht aber während man die Taste gedrückt hält.
Nun habe ich darauf mein Projekt aufgebaut und bin auf etwas imho merkwürdiges gestoßen:
Ich hab das Problem mal als kleines Testprojekt verpackt und hochgeladen.
komisch.zip (http://www.goryosaeba.de/ftp/komisch.zip)
Im Projekt wird die rechte und untere Pfeiltaste per Keypatch in einem PP-Mapevent abgefragt. Sowohl bei einem Tastendruck als auch beim Loslassen werden entsprechend die vier ersten Variablen jeweils um den Wert "1" erhöht (außerdem hab ich mal einen Sound abspielen lassen, um das ganze zu verdeutlichen).
Um den "Fehler" zu erzeugen muss man wie folgt vorgehen:
wenn man im Projekt die rechte Pfeiltaste drückt und gedrückt hält, dann währenddessen die untere Pfeiltaste drückt und gedrückt hält und nun während man die untere weiterhin gedrückthält, die rechte loslässt, und dann nach ein paar weiteren Sekunden die untere auch wieder loslässt und dann einen Blick mit F9 auf die ersten 4 Variablen wirft, dann sieht man, dass die Variable für das Drücken der unteren Pfeiltaste den Wert "2" hat, während die anderen auf "1" stehen.
Eigentlich hat man ja nur ein mal die rechte Pfeiltaste gedrückt, einmal die untere gedrückt, einmal die rechte losgelassen und einmal die untere losgelassen.
Eigentlich müssten doch nun alle Variablen auf "1" stehen, aber beim loslassen der rechten Pfeiltaste, wird gleichzeitig ein "neuer Druck" der unteren Pfeiltaste registriert, obwohl man nicht neu gedrückt hat, sondern immer noch drauf ist.
Bevor ich versuche Ineluki damit auf den Geist zu gehen, würde ich doch gern wissen ob jemand von euch das Problem kennt, oder ob ich einfach irgendwo einen Fehler im Projekt hab (was mMn unwahrscheinlich ist, so klein wie das ist).
Ist jetzt nicht so, dass ich meinen Code nicht umschreiben könnte, um das Problem zu umgehen, aber es würde gern noch ein paar weitere Meinungen dazu einholen oO
Alternativ kann der Thread natürlich auch missbraucht werden, um auf andere "Merkwürdigkeiten" des Keypatches einzugehen, ich bin sicher da gibt es noch mehr zu lüften.