Problem mit Flip

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Oetzicool

Betreff: Problem mit Flip

BeitragFr, März 11, 2005 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey also ich bin gerade am Programmieren von nem kleinen Spiel...sowas wie breakthrough also sowas wo ein ball mittels eines paddels nach oben geschlagen wird und dadurch blöcke abgebaut werden! Ok des Grundgerüst habe ich aber wenn der ball nicht vom paddel erwischt wird und dieser runterfällt soll er dann 1 Leben abziehen aber durch dieses Flip rechnet der immer weiter...also statt nur eine 1 abzuziehen kann mir einer von euch vieleicht helfen? Danke Schonmal im Vorraus! Very Happy

Cu Oetzicool

Jan_

Ehemaliger Admin

BeitragFr, März 11, 2005 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du das leben abgerechnet hast, musst du die Variable, die dich in die "lebenabrechen" Schleife hereingeleitet, zurücksetzten.
between angels and insects

Firstdeathmaker

BeitragFr, März 11, 2005 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
^ wenn das nicht klappt, solltest du mal die entsprechende Stelle hier posten, dann kann man dir besser helfen.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

Oetzicool

BeitragFr, März 11, 2005 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Also hier mal der gesamte code:

Code: [AUSKLAPPEN]
Graphics 640,480,32,2
AppTitle "Test"

Global x=20
Global kreis_x=30
Global kreis_y=450
Global kreis=LoadImage("kugel.jpg")
Global Kollision=0
Global Speed=2
Global speed_x=Speed
Global speed_y=-Speed
Global Auserhalb=3
MaskImage Kreis,0,0,0

SetBuffer BackBuffer()

While Not KeyHit(1)
Cls
Bewegung()
Begrenzung()
Kreis_Bewegung()
Kollision()
Start()
Text 5,5, "Treffer: "+ Kollision
Text 100,5, "Versuche: "+ Auserhalb
Rect x,460,60,5,1
Rect 10,30,5,435,1
Rect 625,30,5,435,1
Rect 10,30,620,5,1
Flip


Wend

Function Begrenzung()
If x<15
x=15
ElseIf x>565
x=565
EndIf
End Function

Function Bewegung()
If KeyDown(203)
x=x-2
ElseIf KeyDown(205)
x=x+2
EndIf
End Function

Function Kreis_Bewegung()
kreis_x=kreis_x+speed_x
kreis_y=kreis_y+speed_y
End Function

Function Start()
DrawImage kreis,kreis_x,kreis_y
End Function

Function Kollision()

If ImageRectOverlap(kreis,kreis_x,kreis_y,10,30,5,435)
   If speed_x=-Speed And speed_y=-Speed
   speed_x=Speed
   speed_y=-Speed
   ElseIf speed_x=-Speed And speed_y=Speed
   speed_x=Speed
   speed_y=Speed
   EndIf
ElseIf ImageRectOverlap(kreis,kreis_x,kreis_y,10,30,620,5)
   If speed_x=Speed And speed_y=-Speed
   speed_x=Speed
   speed_y=Speed
   ElseIf speed_x=-Speed And speed_y=-Speed
   speed_x=-Speed
   speed_y=Speed
   EndIf
ElseIf ImageRectOverlap(kreis,kreis_x,kreis_y,625,30,5,345)
   If speed_x=Speed And speed_y=-Speed
   speed_x=-Speed
   speed_y=-Speed
   ElseIf speed_x=Speed And speed_y=Speed
   speed_x=-Speed
   speed_y=Speed
   EndIf
ElseIf ImageRectOverlap(kreis,kreis_x,kreis_y,x,460,60,5)
   If speed_x=-Speed And speed_y=Speed
   speed_x=-Speed
   speed_y=-Speed
   ElseIf speed_x=Speed And speed_y=Speed
   speed_x=Speed
   speed_y=-Speed
   EndIf
ElseIf kreis_y>460
Auserhalb=Auserhalb-1
Start()
End If
End Function


WaitKey
End

Jan_

Ehemaliger Admin

BeitragFr, März 11, 2005 14:39
Antworten mit Zitat
Benutzer-Profile anzeigen
So, auf anhieb würde ich sagen:

BlitzBasic: [AUSKLAPPEN]

ElseIf kreis_y>460
Auserhalb=Auserhalb-1
Start()
End If

-->
BlitzBasic: [AUSKLAPPEN]

ElseIf kreis_y>460
Auserhalb=Auserhalb-1
kreis_y=0
Start()
End If
between angels and insects
 

Oetzicool

BeitragFr, März 11, 2005 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
ja dann wär des problem mit dem zählen gelöst aber dann behält er ja die richtung mit der er gekommen ist weiter

Jan_

Ehemaliger Admin

BeitragFr, März 11, 2005 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, dann musst du eben die richtungsvariable noch ändern,
oder ist das nur Kopierter quelltext?
between angels and insects
 

Oetzicool

BeitragFr, März 11, 2005 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja sorry mein fehler ja ich weiß wie ichs machen muss ich machs so:

BlitzBasic: [AUSKLAPPEN]

ElseIf kreis_y>460
Auserhalb=Auserhalb-1
kreis_y=450
speed_x=-speed_x
speed_y=-speed_y
End If

Jan_

Ehemaliger Admin

BeitragFr, März 11, 2005 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
hey, du hast ja selber herausgefunden, das du starrt herausnehmen musst.

DAs nächste mal, bitte in den beginner bereich!
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group