Ich kann keine verschiedenen Waffen in einem spiel integrier
Übersicht

sven123Betreff: Ich kann keine verschiedenen Waffen in einem spiel integrier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich glaube Syntax und Logik mässig ist der Code in Ordnung also keine Fehler.Das Problem ist nur wenn ich die Waffe Panzerfaust wähle wird diese nicht abgeschossen verwende ich als abfrage der spacetaste aber keydown anstelle von Keyhit finktioniert auch die zweite Waffe aber ich möcht das,dass ganze mit keyhit funtz und ich finde es auserdem etwas komisch das es so nicht klappt aber man weis ja nie vieleicht habe ich einen Fehler eingebaut und finde ihn nicht!Ich habe auch schon vor die Schuss und Steuerungsabfrage Flushkeys gestelt,doch dann schieß überhaupt nichts mehr.Code: [AUSKLAPPEN] Graphics 640,480,0,1
SetBuffer BackBuffer() SeedRnd MilliSecs() framelimited=CreateTimer(80) landscape=LoadImage("f:\landscape.bmp") spielfigur=LoadImage("f:\spieler4711.bmp") Flintenschuss=LoadImage("f:\Gewehrkugel.bmp") flintenkit=LoadImage("f:\Gewehrkugel.bmp") Figurschiest=LoadImage("f:\spieler4711schiest.bmp") GegenerTypMotorad=LoadImage("f:\Motoradgegner.bmp") Statusbalkenvoll=LoadImage("f:\Statusbalkenvoll.bmp") Statusbalkenhaelfte=LoadImage("f:\Statusbalkenhälfte.bmp") Statusbalkenrot=LoadImage("f:\Statusbalkenrot.bmp") blood=LoadImage("f:\Blut.bmp") Rakete=LoadImage("f:\bullet.bmp") Global muniflinte=10 Global raketen=10 Global LebenVonSpieler=100 Global tod=0 Global wahlWaffe=0 ;Die Variabelen der Spielfigur x=0 y=250 ; fy=250 fx=300 ;Feld der Gegner Dim Motoradgegner(3,7) ;Feld für den Flintenschuss Type schussflinte Field existent Field x Field y End Type ; Type Panzerfaust Field funktioniert Field Px Field Py End Type ; Repeat Cls ;Gegner Skills For i=0 To 2 If Motoradgegner(i,2)=0 Then Motoradgegner(i,0)=620 Motoradgegner(i,1)=Rnd(190,365) Motoradgegner(i,2)=1 Motoradgegner(i,3)=Rand(0.7,2) Motoradgegner(i,4)=150 Motoradgegner(i,5)=1 Motoradgegner(i,6)=1 EndIf Next ;Der Hintergrund TileBlock landscape DrawImage flintenkit,2,1 Text 15,4,muniflinte,0,0 HandleImage spielfigur,18,24 If tod=0 Then If KeyDown(203) Then x=x-1 If KeyDown(205) Then x=x+1 If KeyDown(208) Then y=y+1 If KeyDown(200) Then y=y-1 EndIf ; If KeyDown(3) Then wahlWaffe=1 If KeyDown(2) Then wahlWaffe=0 ;Zeichnen des Statusbalken vom Gegner For i=0 To 2 If Motoradgegner(i,4)>75 Then DrawImage Statusbalkenvoll,Motoradgegner(i,0),Motoradgegner(i,1)-3 Next For i=0 To 2 If Motoradgegner(i,2)=1 And Motoradgegner(i,4)<75 Then DrawImage Statusbalkenhaelfte,Motoradgegner(i,0),Motoradgegner(i,1)-3 EndIf Next For i=0 To 2 If Motoradgegner(i,2)=1 And Motoradgegner(i,4)<30 Then DrawImage Statusbalkenrot,Motoradgegner(i,0),Motoradgegner(i,1)-3 EndIf Next ;Zeichnen des Statusbalken für die Spielfigur If LebenVonSpieler>50 Then DrawImage Statusbalkenvoll,x-15,y-48 If LebenVonSpieler<50 And LebenVonSpieler>0 Then DrawImage Statusbalkenhaelfte,x-15,y-48 If LebenVonSpieler<40 And LebenVonSpieler>0 Then DrawImage Statusbalkenrot,x-15,y-48 ;Kollision Spieler mit Gegnertyp Motorad For i=0 To 2 If ImagesCollide(spielfigur,x,y,0,GegenerTypMotorad,Motoradgegner(i,0),Motoradgegner(i,1),0) And Motoradgegner(i,6)=1 And tod=0 Then LebenVonSpieler=LebenVonSpieler-60 Motoradgegner(i,6)=0 EndIf Next ;Spieler ist Tod If LebenVonSpieler<0 Then tod=1 DrawImage blood,x,y EndIf Text 300,4,LebenVonSpieler,1,0 ;Auslösen des Schusses If KeyHit(57) And muniflinte>0 And tod=0 And wahlWaffe=0 Then muniflinte=muniflinte-1 DrawImage Figurschiest,x+5,y-13 schussflinte.schussflinte=New schussflinte schussflinte\x=x schussflinte\y=y+5 schussflinte\existent=1 EndIf ;Auslösen der Rakete If KeyHit(57) And raketen>0 And tod=0 And wahlWaffe=1 Then raketen=raketen-1 DrawImage Figurschiest,x+5,y-13 Panzerfaust.Panzerfaust=New Panzerfaust Panzerfaust\Px=x Panzerfaust\Py=y+5 Panzerfaust\funktioniert=1 EndIf ;Löschen des Schusses nach dem er aus dem Bild ist oder wenn er mit dem Gegner kollidiert! For schussflinte.schussflinte=Each schussflinte If schussflinte\x>605 Or schussflinte\existent=0 Then Delete schussflinte.schussflinte EndIf Next ;Löschen des Raketenschusses nach dem er aus dem Bild ist oder wenn er mit dem Gegner kollidiert! For Panzerfaust.Panzerfaust=Each Panzerfaust If Panzerfaust\Px>605 Or Panzerfaust\funktioniert=0 Then Delete Panzerfaust.Panzerfaust EndIf Next ;Bewegung und Zeichnung der Flintenkugeln For schussflinte.schussflinte=Each schussflinte If schussflinte\existent=1 Then DrawImage Flintenschuss,schussflinte\x,schussflinte\y schussflinte\x=schussflinte\x+2 EndIf Next ;Bewegung und Zeichnung der Raketen For Panzerfaust.Panzerfaust=Each Panzerfaust If Panzerfaust\funktioniert=1 Then DrawImage Rakete,Panzerfaust\Px,Panzerfaust\Py Panzerfaust\Px=Panzerfaust\Px+1 EndIf Next ;Flintenschuss kollidiert mit Gegner! For schussflinte.schussflinte=Each schussflinte For i=0 To 2 If ImagesCollide(GegenerTypMotorad,Motoradgegner(i,0),Motoradgegner(i,1),0,Flintenschuss,schussflinte\x,schussflinte\y,0) And schussflinte\existent=1 And Motoradgegner(i,2)=1 Then Motoradgegner(i,4)=Motoradgegner(i,4)-20 schussflinte\existent=0 EndIf Next Next ;Rakete kollidiert mit Gegner! For Panzerfaust.Panzerfaust=Each Panzerfaust For i=0 To 2 If ImagesCollide(GegenerTypMotorad,Motoradgegner(i,0),Motoradgegner(i,1),0,Rakete,Panzerfaust\Px,Panzerfaust\Py,0) And Panzerfaust\funktioniert=1 And Motoradgegner(i,2)=1 Then Motoradgegner(i,4)=Motoradgegner(i,4)-90 Panzerfaust\funktioniert=0 EndIf Next Next ;Wenn der Gegner stirbt For i=0 To 2 If Motoradgegner(i,4)<0 Then DrawImage blood,Motoradgegner(i,0),Motoradgegner(i,1) Motoradgegner(i,5)=0 EndIf Next ;Vorläufiges Munikit If ImagesCollide(spielfigur,x,y,0,flintenkit,fx,fy,0) Or ImagesCollide(Figurschiest,x,y,0,flintenkit,fx,fy,0) And munigenommen=0 Then muniflinte=muniflinte+10 munigenommen=1 EndIf ;Zeichnung und bewegung der Gegner For i=0 To 2 If Motoradgegner(i,2)=1 And Motoradgegner(i,5)=1 Then MaskImage GegenerTypMotorad,255,255,255 DrawImage GegenerTypMotorad,Motoradgegner(i,0),Motoradgegner(i,1) EndIf Next For i=0 To 2 If Motoradgegner(i,2)=1 And Motoradgegner(i,5)=1 Then Motoradgegner(i,0)=Motoradgegner(i,0)-Motoradgegner(i,3) EndIf Next ;end Gegner For i=0 To 2 If Motoradgegner(i,2)=1 Then If Motoradgegner(i,0)=0 Then Motoradgegner(i,2)=0 EndIf Next ;Zeichnung der Spielfigur und des vorläufigen Munikits DrawImage flintenkit,fx,fy If tod=0 Then DrawImage spielfigur,x,y EndIf Flip WaitTimer(framelimited) Until KeyDown(1) End thx für die Hilfe! |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Och sven- das Keyhit den Tastaturpuffer nach Abfrage auf null setzt hatten wir doch schon oft genug, und als Langzeit-Forenuser solltest du das mindestens ein DSutzendmal gelesen haben... ![]() Frage zu Beginn deiner Hauptschleife keyhit ab und speichere das Ergebnis in einer Variable. Diese fragst du dann ab und es sollte keine Probleme mehr geben... Und RÜCK deinen Code ein- das ist ja abartig unübersichtlich. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm!Sorry diese Threads sind irgendwie an mir vorbei gegngen! ![]() |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group