Spielereingaben werden nicht verarbeitet!
Übersicht

stoertebeckerBetreff: Spielereingaben werden nicht verarbeitet! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Wollte mein erstes eigenes Spiel programmieren und bin jetzt schon an meine Grenzen gestoßen! Und zwar will ich insgesamt 4 Spieler haben die über jeweils eine taste (StrgR/Leertaste/Enter/StrgL) ihre figur steuern können! Nur funktioniert das nur beim ersten spieler! Bei den anderen kann ich noch so oft drücken es tut sich einfach nichts! Muss ich die Inputs vllt. anderst abfragen? Code: [AUSKLAPPEN] . . . function move(player_name$,status) locate 50, 250 if status = 1 then Print player_name$ + " Stop" endif end function . . . repeat if keyhit(29) then pl1_i = 1 endif if keyhit(54) then pl2_i = 1 endif if keyhit(14) then pl3_i = 1 endif if keyhit(157) then pl4_i = 1 endif If pl1_i = 1 then move(player1_name,1) If pl2_i = 1 then move(player2_name,1) If pl3_i = 1 then move(player3_name,1) If pl4_i = 1 then move(player4_name,1) . . . Flip Cls Until KeyHit(1) End Bin ratlos! mfg stoertebecker |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jede Taste wird nur einmal pro schleifendurchlauf geprüft.
Abhilfe schaft hier eine variable z.b. pl_1 = keyhit/down(29) dadurch ist automatisch pl_1 = 1 wemm die Taste gedrückt oder gehalten wird und ich habe gerade gemerkt, dass ich mir doch erstmal den code anschauen sollte, bevor ich antworte, aber den tipp von oben kannst du für spätere zwecke beherzigen. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
- Zuletzt bearbeitet von skey-z am Mo, Sep 25, 2006 22:02, insgesamt einmal bearbeitet
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
EDIT:
War schrott HASE hatte recht! |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
- Zuletzt bearbeitet von Schranz0r am Mo, Sep 25, 2006 21:09, insgesamt einmal bearbeitet
stoertebecker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm hab se als Global aber es geht immer noch nicht!
Das sie wieder auf 0 kommen is nicht so wichtig is so ne art reaktionsspiel! Gibts noch andere Fehlerquellen? Edit: Habs jetzt mal so: Code: [AUSKLAPPEN] if keyhit(29) then ; pl1_i = 1 print "1" endif if keyhit(54) then ; pl2_i = 1 print "2" endif if keyhit(14) then ; pl3_i = 1 Print "3" endif if keyhit(157) then ; pl4_i = 1 print "4" endif Aber man kann nur die 1 aufblitzen sehen bei den anderen keine funktion! mfg stoertebecker |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
14 ist die Backspace Taste! 54 ist die Rechte Shift Taste!
Und Du musst Strings in Gänsefüßchen setzen, also das sehe konkret so aus in Deinem Falle: Code: [AUSKLAPPEN] If pl1_i = 1 Then move("player1_name",1)
If pl2_i = 1 Then move("player2_name",1) If pl3_i = 1 Then move("player3_name",1) If pl4_i = 1 Then move("player4_name",1) Achja und kuck Dir mal Text, statt Print an, das ist glaub besser für Deine Zwecke. Skey-Z und Schranz0r, setzen, 6! |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
OMG , habich garnet drauf geachtet........*Schäm*
die 6 hab ich wohl verdient ![]() Aber : Code: [AUSKLAPPEN] Graphics 640,480,0,2 SetBuffer BackBuffer() Repeat Cls if KeyDown(30) then ; A ; pl1_i = 1 Text 10,10,"1" endif if KeyDown(45) then ; X ; pl1_i = 1 Text 10,20,"2" endif if KeyDown(14) then ; Backspace ; pl1_i = 1 Text 10,30,"3" endif if KeyDown(157) then ; Strg rechts ; pl1_i = 1 Text 10,40,"4" endif Flip Until KeyHit(1) End die Ö taste geht bei mir net (Komisch), sonnst gings also aus Ö -> A gemacht |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
stoertebecker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank!
Funktioniert jetzt so wies aussieht!! mfg stoertebecker |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group