for-schleife mit types stresst rum
Übersicht

admanBetreff: for-schleife mit types stresst rum |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi
ich hab hier ein problem mit types. es geht darum dass ich einen key-parser schreiben will, der die scancodes aus einer datei ausliest. das ganze soll später dazu dienen, im game einstellbare steuerungen zu definieren etc. mein problem jedoch ist, dass er alle keys auszulesen scheint, aber immer nur den ersten in der datei umsetzt. heisst also: steht die esc-taste oben, funktioniert nur, die, steht ne andere taste obe, funktioniert nur die. ich sitz schon seit stunden an dem problem und komm einfach nicht drauf was der fehler ist. dabei hab ich mit types schon öfter auf diese weise gearbeitet, und es hat immer funktioniert =:-/ zum schluß noch die codes: test.bb Code: [AUSKLAPPEN] Include "function.bb"
GetKeyboardConfig() Repeat If ActionHit("1") Then Print "motherfucker" If ActionHit("Esc") Then Print "Sauber Sebi, smoken?" If actionhit("A") Then Print "yay" Until KeyDown(3) End function.bb Code: [AUSKLAPPEN] ;z$ = tempzeile
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Type kkeys Field b$ ;uchstabe Field s ;cancode End Type Global k.kkeys ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Function GetKeyboardConfig() ;--------------- config_file = ReadFile("data\keyboard.ini") If config_file = 0 Then RuntimeError "Error loading <data\keyboard.ini>" ;--------------- While Not Eof(config_file) z$ = ReadLine$(config_file) pos1 = Instr(z$," ",1) pos2 = pos1 + 2 k.kkeys = New kkeys k\b$ = Left$(z$,pos1-1) k\s = Mid$(z$,pos2) DebugLog k\b$ +"auf" +k\s Wend ;--------------- End Function ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Function ActionHit(key$) ;--------------- For k.kkeys = Each kkeys If key$ = k\b$ Then If KeyHit(k\s) Then Return 1 Else Return 0 End If Next ;--------------- End Function und die keyboard.ini (zum test mit nur 4 tasten) Code: [AUSKLAPPEN] Esc = 1
1 = 2 A = 30 B = 22 wär super fesch wenn mir jemand helfen könnte ![]() |
||
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm einfach das Return 0 aus deiner ActionHit-Funktion raus. Das Programm prüft ja immer zuerst die Taste, die ganz oben steht. Wenn sie also nicht gedrückt wird, liefert deine Funktion immer ein false zurück.
Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
adman |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich werd bekloppt, und es war so eindeutig. vielen dank ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group