Hallo Leute ich hab ein Problem bei der Kollision.
Also wenn ich auf den Gegner Schieß geht er kaputt. Jetzt wollt ich es so machen einen EnergieZähler für mein Schiff einzubauen . Der gegner schießt auch und scheint auch zu treffen jedoch geht die Energie nicht runter. das ist mein Problem
Also hier mein Code
(Des is der Code aus einem gewissen Buch aber ihr könnt mir glauben das ich versteh was da drin steht^^.Und nicht über die vielen For Schleifen wunderen^^, Ich mag die einfach
Also hier mein Code
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN] AppTitle \"Star-Ranger\" Graphics 1024,768 SetBuffer BackBuffer()
Hinter = LoadImage(\"sterne.bmp\") Schiff = LoadImage(\"Schiff.bmp\") Schuss = LoadImage(\"Schuss.bmp\") GegnerImage = LoadImage(\"Gegner.bmp\") GegnerSch = LoadImage(\"GegnerSch.bmp\") Explosion = LoadAnimImage (\"Explosion.bmp\",60,46, 0,6)
Dim Sch(100,2) Dim Gegner(8,3) Dim GegnerTot(5,1) Dim FeindSch(100,2)
MaskImage GegnerImage ,255,0,255 MaskImage Schiff ,255,0,255 MaskImage Schuss ,255,0,255 MaskImage GegnerSch ,255,0,255 X=300 Y=700 GegnerEnergie = 100 SpielerEnergie = 100
Repeat
Cls
I = I + 2 If I=99999999999999999999 Then I=0 TileBlock Hinter,0,I
DrawImage Schiff ,X,Y If KeyDown(200) Then Y = Y-3 If KeyDown(208) Then Y = Y+3 If KeyDown(205) Then X = X+3 If KeyDown(203) Then X = X-3
If X>920 Then X=920 If X<0 Then X=0 If Y>650 Then Y=650 If Y<0 Then Y=0
If KeyHit(57) Then Schuss2 = Schuss2 + 1 If Schuss2 = 21 Then Schuss2 = 1 Sch(Schuss2,0) = 1 Sch(Schuss2,1) = X+29 Sch(Schuss2,2) = Y EndIf
For S = 1 To 100 If Sch(S,1) < 0 Then Sch(S,0) = 0 If Sch(S,0) = 1 Then DrawImage Schuss, Sch(S,1), Sch(S,2) Sch(S,2) = Sch(S,2) - 10 EndIf Next
For P = 1 To 5 If Gegner(P,1) = X Then Schuss3 = Schuss3 + 1 If Schuss3 = 2 Then Schuss3 = 1 FeindSch(Schuss3,0) = 1 FeindSch(Schuss3,1) = Gegner(P,1) FeindSch(Schuss3,2) = Gegner(P,2) EndIf For A = 1 To 100 If FeindSch(A,1) < 0 Then FeindSch(A,0) = 0 If FeindSch(A,0) = 1 Then DrawImage GegnerSch , FeindSch(P,1), FeindSch(P,2) FeindSch(A,2) = FeindSch(A,2) +6 EndIf Next Next
For F = 1 To 5 If Gegner(F,0) = 0 Then Gegner(F,0) = Rand(100,400) Gegner(F,1) = Rand(-20,1024) Gegner(F,2) = Rand(-100,0) EndIf
If Gegner(F,0) <> -1 Then Gegner(F,2) = Gegner(F,2) + 1 Gegner(F,1) = 384 + Cos( Gegner(F,2) ) * Gegner(F,0) EndIf
If Gegner(F,2) > 768 Then Gegner(F,0) = 0 DrawImage GegnerImage, Gegner(F,1),Gegner(F,2)
Next
For C = 1 To 100 If Sch(C,0) <> 0 Then For K = 1 To 5 If ImagesOverlap (GegnerImage, Gegner(K,1), Gegner(K,2), Schuss, Sch(C,1), Sch(C,2)) Then Gegner(K,0) = -1 If ImagesOverlap(GegnerSch , FeindSch(K,1) , FeindSch(K,2),Schiff, X ,Y) Then SpielerEnergie = SpielerEnergie - 100 If SpielerEnergie <= 0 Then End
EndIf EndIf Next EndIf Next
For F = 1 To 5 If Gegner(F,0) = -1 Then If GegnerTot(F,1) + 100 < MilliSecs() Then GegnerTot(F,0) = GegnerTot(F,0) + 1 GegnerTot (F,1) = MilliSecs() If GegnerTot(F,0) = 6 Then GegnerTot(F,0) = 0 GegnerTot(F,1) = 0 Gegner(F,0) = 0 EndIf EndIf DrawImage Explosion ,Gegner(F,1) ,Gegner(F,2) ,GegnerTot(F,0) EndIf Next
Flip Until KeyHit(1)
Danke im Vorraus
|