Konfigurierbare Tastenbelegung
Übersicht

jackyBetreff: Konfigurierbare Tastenbelegung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, Ich möchte ein Spiel programmieren, wo
man eine frei wählbare Steuerung benutzen kann. Ich weiss aber nicht, wie man machen kann, dass der Spieler die Tastaturbelegung frei wählen kann. Wäre über Antworten sehr erfreut. mfg |
||
Aller Anfang ist schwer!!! |
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schreib einfach die scancodes in ne datei und lies sie beim programmstart wieder aus un nutze sie. | ||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
vielleicht hilft dir ja dieses Array: (nicht von mir) Du brauchst nur den Scancode angeben, und du erhälst sofort den Namen der Taste. Gut, um dem Spieler zu zeigen, wie seine Tastenbelegung ist.
das was hier unten ist bitte nur einmal ausführen, dannach reicht eine Zeile wie tastenname$ = keyname(Taste_Laufen) wobei du Taste_Laufen dazu brauchst um abzuspeichern, welchen scancode das Laufen bekommt... ![]() Code: [AUSKLAPPEN] Dim keyname$(255) keyname(1) = "Esc" keyname(2) = "1" keyname(3) = "2" keyname(4) = "3" keyname(5) = "4" keyname(6) = "5" keyname(7) = "6" keyname(8) = "7" keyname(9) = "8" keyname(10) = "9" keyname(11) = "0" keyname(12) = "ß" keyname(13) = "´" keyname(14) = "Backspace" keyname(15) = "Tabulator" keyname(16) = "Q" keyname(17) = "W" keyname(18) = "E" keyname(19) = "R" keyname(20) = "T" keyname(21) = "Z" keyname(22) = "U" keyname(23) = "I" keyname(24) = "O" keyname(25) = "P" keyname(26) = "Ü" keyname(27) = "+" keyname(28) = "Enter" keyname(29) = "Strg links" keyname(30) = "A" keyname(31) = "S" keyname(32) = "D" keyname(33) = "F" keyname(34) = "G" keyname(35) = "H" keyname(36) = "J" keyname(37) = "K" keyname(38) = "L" keyname(39) = "Ö" keyname(40) = "Ä" keyname(41) = "^" keyname(42) = "Shift links" keyname(43) = "#" keyname(44) = "Y" keyname(45) = "X" keyname(46) = "C" keyname(47) = "V" keyname(48) = "B" keyname(49) = "N" keyname(50) = "M" keyname(51) = "," keyname(52) = "." keyname(53) = "-" keyname(54) = "Shift rechts" keyname(55) = "* (Num)" keyname(56) = "Alt links" keyname(57) = "Leertaste" keyname(58) = "Feststelltaste" keyname(59) = "F1" keyname(60) = "F2" keyname(61) = "F3" keyname(62) = "F4" keyname(63) = "F5" keyname(64) = "F6" keyname(65) = "F7" keyname(66) = "F8" keyname(67) = "F9" keyname(68) = "F10" keyname(69) = "NumLock" keyname(70) = "Rollen" keyname(71) = "7 (Num)" keyname(72) = "8 (Num)" keyname(73) = "9 (Num)" keyname(74) = "- (Num)" keyname(75) = "4 (Num)" keyname(76) = "5 (Num)" keyname(77) = "6 (Num)" keyname(78) = "+ (Num)" keyname(79) = "1 (Num)" keyname(80) = "2 (Num)" keyname(81) = "3 (Num)" keyname(82) = "0 (Num)" keyname(83) = ", (Num)" keyname(86) = "<" keyname(87) = "F11" keyname(88) = "F12" keyname(100) = "F13" keyname(101) = "F14" keyname(102) = "F15" keyname(112) = "Kana" keyname(115) = "/?" keyname(121) = "Convert" keyname(123) = "NoConvert" keyname(125) = "Yen" keyname(126) = ". (Num)" keyname(141) = "= (Num)" keyname(144) = "PrevTrack" keyname(145) = "AT" keyname(146) = ":" keyname(147) = "_" keyname(148) = "Kanji" keyname(149) = "Stop" keyname(150) = "AX" keyname(151) = "Unlabeled" keyname(153) = "Next Track (Media)" keyname(156) = "Enter (Num)" keyname(157) = "Strg rechts" keyname(160) = "Mute (Media)" keyname(161) = "Taschenrechner (Windows)" keyname(162) = "Play/Pause (Media)" keyname(164) = "Stop (Media)" keyname(174) = "Volume - (Media)" keyname(176) = "Volume + (Media)" keyname(178) = "Home (Internet)" keyname(179) = ", (Num)" keyname(181) = "/ (Num)" keyname(183) = "Druck" keyname(184) = "AltGr rechts" keyname(197) = "Pause" keyname(199) = "Pos1" keyname(200) = "Pfeiltaste Hoch" keyname(201) = "Bild hoch" keyname(203) = "Pfeiltaste Links" keyname(205) = "Pfeiltaste Rechts" keyname(207) = "Ende" keyname(208) = "Pfeiltaste Runter" keyname(209) = "Bild runter" keyname(210) = "Einfg" keyname(211) = "Entf" keyname(219) = "Windowstaste links" keyname(220) = "Windowstaste rechts" keyname(221) = "Menü (Windows)" keyname(222) = "Power (System)" keyname(223) = "Sleep (System)" keyname(227) = "WakeUp (System)" keyname(229) = "Suchen (Internet)" keyname(230) = "Favoriten (Internet)" keyname(231) = "Aktualisieren (Internet)" keyname(232) = "Abbrechen (Internet)" keyname(233) = "Vorwärts (Internet)" keyname(234) = "Zurück (Internet)" keyname(235) = "Arbeitsplatz (Windows)" keyname(236) = "E-Mail (Windows)" keyname(237) = "Media (Windows)" For counter = 0 To 255 If keyname(counter) = "" Then keyname(counter) = "Unbekannte Taste (Code " + counter + ")" Next |
||
![]() |
schmidtjr |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
so verfolge das hier nun öfters (bin nich mehr allzu oft aufm Boad), dass hier Leute fragen "wie mache ich nen menu, wie speicher ichs inne datei, wie mach ich optionen, wie tastenbelegung...". Naja hab vor einiger zeit mal für die schule schnell nen menu gemacht. das könnte man ja so als Basis nehmen. UND DARAUS LERNEN. an die Pros:: Bitte nich haun, ich weiß es is nich perfekt, viele schnitzer aber das hat gründe:: - musste schnell gehn, für schule - spiel war wichtiger - für damals hats gereicht - habs jetzt nur schnell fürs forum angepasst, dadurch evtl. noch bissl unübersichtlich weil z.b. meine VariablenLadeFunktion rausgeflogen is. - ich hasse ellenlange quellcodes, daher so viele .bb includes. - es is scho älter - keine Auflösungsänderung da wir uns damals auf 800x600 beschränkt hatten weil die inforaum rechner eh schrott warn ....... naja könnt hier ellenlang weiterlabern. Nehmt es oder nicht, is mir egal. Ich blitze eh seit einiger Zeit nicht mehr. Wer es nimmt, kann ja wenner bock hat nen eintrag in die credits machen. so long, stay tuned mfg, iche Hier die Main datei:: Code: [AUSKLAPPEN] Include "options.bb"
Include "tasten.bb" Include "grafik.bb" datatxt=OpenFile("data.cfg") Global window=ReadLine(datatxt) CloseFile datatxt Dim name$(10) Dim punkte(10) Graphics 800,600,16,window SetBuffer BackBuffer() Include "high.bb" Include "highscore.bb" readoptions Global normal=LoadFont("Arial",24,0,0,0) Global marked=LoadFont("Arial",32,1,0,1) Global klein=LoadFont("arial",12,0,0,0) Global selected=1 Global linksp1, rechtsp1, obenp1, untenp1, linksp2, rechtsp2, obenp2, untenp2 FlushKeys ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@q Mainloop @@@@@@@@@@@@@ While Not KeyHit(1) If KeyHit(208) Then selected = selected +1 If KeyHit(200) Then selected = selected -1 If selected<1 Then selected = 4 If selected>4 Then selected = 1 If KeyHit(28) Then Select selected Case 1 ;startet euer spiel (habs immer als funktion gehabt dann) selected=1 Case 2 optionen selected=1 Case 3 highscore selected=1 Case 4 End End Select EndIf drawmenu(selected) Flip Cls Wend End ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@q Mainloop ende @@@@@@@@ ;@@@@@@@@@@@@@ Functions Area @@@@@@@ Function drawmenu(selected) Select selected Case 1 SetFont marked Text 400,100,"Spiel starten",1,0 SetFont normal Text 400,200,"Optionen",1,0 Text 400,300,"Highscore",1,0 Text 400,500,"Beenden (Esc)",1,0 Case 2 SetFont normal Text 400,100,"Spiel starten",1,0 SetFont marked Text 400,200,"Optionen",1,0 SetFont normal Text 400,300,"Highscore",1,0 Text 400,500,"Beenden (Esc)",1,0 Case 3 SetFont normal Text 400,100,"Spiel starten",1,0 Text 400,200,"Optionen",1,0 SetFont marked Text 400,300,"Highscore",1,0 SetFont normal Text 400,500,"Beenden (Esc)",1,0 Case 4 SetFont normal Text 400,100,"Spiel starten",1,0 Text 400,200,"Optionen",1,0 Text 400,300,"Highscore",1,0 SetFont marked Text 400,500,"Beenden (Esc)",1,0 SetFont normal End Select End Function hier die high include: Code: [AUSKLAPPEN] Function highscorein()
hightxt=OpenFile("highscore.txt") For i=0 To 9 name$(i)=ReadLine(hightxt) punkte(i)=ReadLine(hightxt) Next CloseFile hightxt End Function Function highscoreout() hightxt=OpenFile("highscore.txt") For i=0 To 9 WriteLine hightxt,name$(i) WriteLine hightxt,punkte(i) Next CloseFile hightxt End Function Function sort() For i=0 To 9 For j=0 To 9 If punkte(i)>punkte(j) Then punktezwischen= punkte(j) punkte(j)=punkte(i) punkte(i)=punktezwischen namezwischen$=name$(j) name$(j)=name$(i) name$(i)=namezwischen$ EndIf Next Next End Function hier die highscore include: Code: [AUSKLAPPEN] Function highscore() highscorein sort highscoreout FlushKeys While Not KeyHit(1) SetFont normal For i=0 To 9 Text 50,50+i*40,i+1 + ".",1 Text 100,50+i*40,name$(i) Text 700,50+i*40,punkte(i) Next SetFont marked Text 400,500,"Beenden (Esc)",1,0 SetFont normal If KeyHit(28) Then Exit EndIf Flip Cls Wend End Function hier die options : Code: [AUSKLAPPEN] Function optionen()
Cls selected = 1 readoptions FlushKeys While Not KeyHit(1) If KeyHit(208) Then selected = selected +1 If KeyHit(200) Then selected = selected -1 If selected<1 Then selected = 3 If selected>3 Then selected = 1 If KeyHit(28) Then Select selected Case 1 grafikmodus Case 2 tastenbelegung Case 3 Exit End Select EndIf drawmenu2(selected) Flip Cls Wend optionsave End Function Function drawmenu2(selected) Select selected Case 1 SetFont marked Text 400,200,"Grafikmodus",1,0 SetFont normal Text 400,300,"Tastenbelegung",1,0 Text 400,500,"zurück (Esc)",1,0 Case 2 SetFont normal Text 400,200,"Grafikmodus",1,0 SetFont marked Text 400,300,"Tastenbelegung",1,0 SetFont normal Text 400,500,"zurück (Esc)",1,0 Case 3 SetFont normal Text 400,200,"Grafikmodus",1,0 Text 400,300,"Tastenbelegung",1,0 SetFont marked Text 400,500,"zurück (Esc)",1,0 SetFont normal End Select End Function Function optionsave() datatxt=OpenFile("data.cfg") WriteLine datatxt, window WriteLine datatxt, linksp1 WriteLine datatxt, rechtsp1 WriteLine datatxt, obenp1 WriteLine datatxt, untenp1 WriteLine datatxt, linksp2 WriteLine datatxt, rechtsp2 WriteLine datatxt, obenp2 WriteLine datatxt, untenp2 CloseFile datatxt End Function Function readoptions() datatxt=OpenFile("data.cfg") window=ReadLine(datatxt) linksp1=ReadLine(datatxt) rechtsp1=ReadLine(datatxt) obenp1=ReadLine(datatxt) untenp1=ReadLine(datatxt) linksp2=ReadLine(datatxt) rechtsp2=ReadLine(datatxt) obenp2=ReadLine(datatxt) untenp2=ReadLine(datatxt) CloseFile datatxt End Function hier die tastenbelegung : Code: [AUSKLAPPEN] Function tastenbelegung() Cls selected = 1 lip1$=scan2name(linksp1) rep1$=scan2name(rechtsp1) obp1$=scan2name(obenp1) unp1$=scan2name(untenp1) lip2$=scan2name(linksp2) rep2$=scan2name(rechtsp2) obp2$=scan2name(obenp2) unp2$=scan2name(untenp2) FlushKeys While Not KeyHit(1) If KeyHit(208) Then selected = selected +1 If KeyHit(200) Then selected = selected -1 If selected<1 Then selected = 9 If selected>9 Then selected = 1 If KeyHit(28) Then Select selected Case 1 linksp1=getscan() lip1$=scan2name(linksp1) Case 2 rechtsp1=getscan() rep1$=scan2name(rechtsp1) Case 3 obenp1=getscan() obp1$=scan2name(obenp1) Case 4 untenp1=getscan() unp1$=scan2name(untenp1) Case 5 linksp2=getscan() lip2$=scan2name(linksp2) Case 6 rechtsp2=getscan() rep2$=scan2name(rechtsp2) Case 7 obenp2=getscan() obp2$=scan2name(obenp2) Case 8 untenp2=getscan() unp2$=scan2name(untenp2) Case 9 Exit End Select EndIf Text 20,10,"Spieler 1:",0,0 Text 20,200,"Spieler 2:",0,0 Text 550,40,lip1$,0,0 Text 550,80,rep1$,0,0 Text 550,120,obp1$,0,0 Text 550,160,unp1$,0,0 Text 550,240,lip2$,0,0 Text 550,280,rep2$,0,0 Text 550,320,obp2$,0,0 Text 550,360,unp2$,0,0 drawmenu3(selected) Flip Cls Wend optionsave End Function Function drawmenu3(selected) Select selected Case 1 SetFont marked Text 120,40,"Links",0,0 SetFont normal Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 2 SetFont normal Text 120,40,"Links",0,0 SetFont marked Text 120,80,"Rechts",0,0 SetFont normal Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 3 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 SetFont marked Text 120,120,"Oben",0,0 SetFont normal Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 4 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 SetFont marked Text 120,160,"Unten",0,0 SetFont normal Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 5 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 SetFont marked Text 120,240,"Links",0,0 SetFont normal Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 6 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 SetFont marked Text 120,280,"Rechts",0,0 SetFont normal Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 7 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 SetFont marked Text 120,320,"Oben",0,0 SetFont normal Text 120,360,"Unten",0,0 Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 8 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 SetFont marked Text 120,360,"Unten",0,0 SetFont normal Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 Case 9 SetFont normal Text 120,40,"Links",0,0 Text 120,80,"Rechts",0,0 Text 120,120,"Oben",0,0 Text 120,160,"Unten",0,0 Text 120,240,"Links",0,0 Text 120,280,"Rechts",0,0 Text 120,320,"Oben",0,0 Text 120,360,"Unten",0,0 SetFont marked Text GraphicsWidth()/2,500,"zurück (Esc)",1,0 SetFont normal End Select End Function Function Getscan() FlushKeys WaitKey() For i=1 To 237 If KeyHit(i) Then Return i End EndIf Next End Function Function scan2name$(i) Select i Case 1 Return "Escape" Case 2 Return "1" Case 3 Return "2" Case 4 Return "3" Case 5 Return "4" Case 6 Return "5" Case 7 Return "6" Case 8 Return "7" Case 9 Return "8" Case 10 Return "9" Case 11 Return "0" Case 12 Return "ß" Case 13 Return "´" Case 14 Return "Backspace" Case 15 Return "Tabulator" Case 16 Return "Q" Case 17 Return "W" Case 18 Return "E" Case 19 Return "R" Case 20 Return "T" Case 21 Return "Z" Case 22 Return "U" Case 23 Return "I" Case 24 Return "O" Case 25 Return "P" Case 26 Return "Ü" Case 27 Return "+" Case 28 Return "Return" Case 29 Return "Ctrl links" Case 30 Return "A" Case 31 Return "S" Case 32 Return "D" Case 33 Return "F" Case 34 Return "G" Case 35 Return "H" Case 36 Return "J" Case 37 Return "K" Case 38 Return "L" Case 39 Return "Ö" Case 40 Return "Ä" Case 41 Return "^" Case 42 Return "Shift links" Case 43 Return "#" Case 44 Return "Y" Case 45 Return "X" Case 46 Return "C" Case 47 Return "V" Case 48 Return "B" Case 49 Return "N" Case 50 Return "M" Case 51 Return "," Case 52 Return "." Case 53 Return "-" Case 54 Return "Shift rechts" Case 55 Return "*" Case 56 Return "Alt links" Case 57 Return "Leertaste" Case 58 Return "Feststelltaste" Case 59 Return "F1" Case 60 Return "F2" Case 61 Return "F3" Case 62 Return "F4" Case 63 Return "F5" Case 64 Return "F6" Case 65 Return "F7" Case 66 Return "F8" Case 67 Return "F9" Case 68 Return "F10" Case 69 Return "NumLock" Case 70 Return "Rollen" Case 71 Return "7" Case 72 Return "8" Case 73 Return "9" Case 74 Return "-" Case 75 Return "4" Case 76 Return "5" Case 77 Return "6" Case 78 Return "+" Case 79 Return "1" Case 80 Return "2" Case 81 Return "3" Case 82 Return "0" Case 83 Return "," Case 86 Return "< >" Case 87 Return "F11" Case 88 Return "F12" Case 156 Return "Enter" Case 157 Return "Ctrl rechts" Case 181 Return "/" Case 183 Return "Drucken" Case 184 Return "Alt rechts" Case 197 Return "Pause" Case 199 Return "Pos1" Case 200 Return "Pfeil hoch" Case 201 Return "Bild hoch" Case 203 Return "Pfeil links" Case 205 Return "Pfeil rechts" Case 207 Return "Ende" Case 208 Return "Pfeil runter" Case 209 Return "Bild runter" Case 210 Return "Einfügen" Case 211 Return "Entfernen" Case 219 Return "Win links" Case 220 Return "Win rechts" Case 221 Return "Menütaste" End Select End Function hier der Grafikmodus : Code: [AUSKLAPPEN] Function grafikmodus()
Cls selected = 1 FlushKeys While Not KeyHit(1) If KeyHit(208) Then selected = selected +1 If KeyHit(200) Then selected = selected -1 If selected<1 Then selected = 4 If selected>4 Then selected = 1 If KeyHit(28) Then Select selected Case 1 window= 1 Case 2 window = 2 Case 3 window = 3 Case 4 Exit End Select EndIf drawmenu5(selected) Select window Case 1 Text 200,100,"*" Text 600,100,"*" Case 2 Text 200,200,"*" Text 600,200,"*" Case 3 Text 200,300,"*" Text 600,300,"*" End Select SetFont klein Text 400,576,"* Fenster Modus ist auf manchen Rechner extrem langsam! *",1,0 Text 400,588,"* Änderungen erst nach Neustart des Programms wirksam! *",1,0 SetFont normal Flip Cls Wend End Function Function drawmenu5(selected) Select selected Case 1 SetFont marked Text 400,100,"Vollbild Modus",1,0 SetFont normal Text 400,200,"Fenster Modus",1,0 Text 400,300,"skalierbarer Fenster Modus",1,0 Text 400,500,"zurück (Esc)",1,0 Case 2 SetFont normal Text 400,100,"Vollbild Modus",1,0 SetFont marked Text 400,200,"Fenster Modus",1,0 SetFont normal Text 400,300,"skalierbarer Fenster Modus",1,0 Text 400,500,"zurück (Esc)",1,0 Case 3 SetFont normal Text 400,100,"Vollbild Modus",1,0 Text 400,200,"Fenster Modus",1,0 SetFont marked Text 400,300,"skalierbarer Fenster Modus",1,0 SetFont normal Text 400,500,"zurück (Esc)",1,0 Case 4 SetFont normal Text 400,100,"Vollbild Modus",1,0 Text 400,200,"Fenster Modus",1,0 Text 400,300,"skalierbarer Fenster Modus",1,0 SetFont marked Text 400,500,"zurück (Esc)",1,0 SetFont normal End Select End Function Desweiteren braucht ihr ne data.cfg die ungefähr so aussehen sollte: Code: [AUSKLAPPEN] 1 203 205 200 208 30 32 17 31 31 und ne Highscore.txt die fürn begin von mir aus so aussieht: Code: [AUSKLAPPEN] paulchen 10 panther 9 Johnny 8 Walker 7 f 4 a 3 d 2 v 1 f 1 b 1 so wenns gut is fangt was damit an, ansonsten schlagt mich nich, es is alt, ich blitze nich mehr, und finds jetzt grottenschlecht ![]() P.S. das ding is vor langer zeit mit hilfe dieses forums entstanden, falls sich hier einer warum auch immer aufn schlips getreten fühlt, soll er sich melden, es is nix absicht, aba ich glaub da is nix drin was geschützt is. |
||
jacky |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Na ja, danke schon mal für die Antworten, aber ich wüsste
gerne, wie mal vom Spieler eine Eingabe verlangen kann, und die dann nacher anzeigt? Ich meine, mit A,B,C,usw. ist es ja kein Problem. Aber zum Beispiel mit Alt oder Control. mfg |
||
Aller Anfang ist schwer!!! |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
genau so? du prüfst ja nicht die Ascii codes sondern die Scancodes und die beinhalten auch Strg,Alt,etc. | ||
jacky |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code? | ||
Aller Anfang ist schwer!!! |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jacky hat Folgendes geschrieben: Ich meine, mit A,B,C,usw. ist es ja kein Problem.
wenn du weist, wie es damit geht, dann sollte strg,etc. auch kein Problem sein. Aber so als Grundgedanke, du brauchst eine Variable, zum Beispiel Key_Runter, die Speichert, welcher Scancode für die Aktion "Runter" ist. Oder zum Beispiel "Aufheben". Dannach überprüfst du halt nicht mehr via If keyhit(15) sondern über if keyhit(Key_Runter) das sollte dir erstmal helfen |
||
jacky |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, soweit bin ich auch schon.
Jetzt aber, wie soll ich die Eingabe machen? Key_Runter=Input("Runter: ") ? Wenn der Spieler hier Alt oder so eingibt, dann kommt ja nix, oder? Please help |
||
Aller Anfang ist schwer!!! |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein das stimmt, das geht leider nicht, da musst du dir ne eigene Funktion zu schreiben.
Sie müsste ungefähr das haben: Code: [AUSKLAPPEN] Function InCode() For x = 1 to 237 ; max Anzahl der Scancodes If Keyhit(x) then return x next End Function Also du musst jeden Scancode durchrattern, ob er gedrückt wurde und wenn ja ihn zurückgeben |
||
jacky |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh, klingt zimlich mühselig ![]() Na ja, thx Timo, dass du an meiner Frage drangeblieben bist. Und auch den anderen ein Dankeschön mfg |
||
Aller Anfang ist schwer!!! |
![]() |
schmidtjr |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
naja klink mich hier doch noch ma ein. wenn du dir meinen vorschlag ma angeguckt hättest hättest du gesehn, dass alles was du gefragt hast darin beantwortet is. guck dir die tasten.bb an, die funktionen getscan() und scan2name() sind ganz spannend, aber naja, wer lesen kan is klar...... ihr kennts ja. werd mich dann wohl mal wieder von hier entfernen, wird ja eh nix gelesen. so long stay tuned mfg, iche |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@schmidtjr: das ist ja ganz freundlich von dir, das du den quellcode zur verfügung gestellt hast, aber meinst du nicht, das es ein bisschen viel verlangt ist, sich den gesammten quellcode (über 600Zeilen), der nicht durchkommentiert ist genauestenz nachzuvollziehen? Ich mein, jetzt wo du's gerade sagts, fällts mir auch auf das du schon eine "GetScan" Funktion drinne hast....
Net bös gemeint!! |
||
![]() |
schmidtjr |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
naja zum thema kommentare : da haste recht. hätt ich mehr machen können. aber zum thema durchackern : es is ja nich der test das zeug schnell ins BB zu machen und zu starten. dann sieht man was es kann, und dass das WAS MAN WILL drinne steckt. also guckt man sich das programm an und findet eine funktion (funktionsnamen stehen ja schließlich schön aufgelistet rechts). Weil man meiner Meinung nach mehr lernt wenn man es selber findet als wenn man es sich geben lässt und reinpastet. aber naja, is ja nu auch gegessen. mfg, iche |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group