Ping Pong (problem!)
Übersicht

![]() |
SonGokuBetreff: Ping Pong (problem!) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
bin grad dabei ein Ping Pong spiel zu programmieren. Ich kann es nicht fortsetzen, weil ich noch paar probleme habe ![]() Wenn ich das Spiel von BB aus starte, bekomme ich eine fehlermeldung, und zwar "Images does not exist",obwohl es schon geladen ist. Könnt ihr mir bitte weiterhelfen ![]() Hier der Quellcode (ist mein erstes spiel) : Code: [AUSKLAPPEN] ;Start Graphics 640,480,16,2 AppTitle "Ping Pong" Balken = LoadImage("Balken.bmp") MaskImage Balken,0,0,255 Ball = LoadImage("Ball.bmp") MaskImage Ball, 0,0,255 Wand = LoadImage("Wand.bmp") While Not KeyHit(1) Cls DrawImage Wand,0,0 DrawImage Balken,20,110 DrawImage Ball,60,110 Ball = Rnd(640,480) balken_speed() If Ball = Balken Then Rnd(620,480) If Ball = Wand Then End Flip Wend End Function balken_speed() If KeyDown(200) Then Balken=Balken-10 If KeyDown(208) Then Balken=Balken+10 End Function ;Ende |
||
Projekt "BlitzPong" --> 100%
BRL Account mit Blitz3D und BlitzMax für nur 67€!!! Das Buch "Spiele programmieren mit Blitz Basic" für nur 15€!!! |
![]() |
jhabekost |
![]() Antworten mit Zitat ![]() |
---|---|---|
sicher das die datei schon gespeichert ist?
und sicher das die imagenamen stimmen? edit:irgendwie blicke ich durch deinen quellcode nicht durch ![]() |
||
- Zuletzt bearbeitet von jhabekost am Sa, März 05, 2005 14:51, insgesamt einmal bearbeitet
![]() |
blitzmaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
DU HAST JA AUCH DIE IMAGEVARIABLE MIT NEM ZUFÄLIIGEN WERT ÜBERSCHRIEBEN!!!! | ||
***************
Blitzmaster |
- Zuletzt bearbeitet von blitzmaster am Sa, März 05, 2005 14:53, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Waaaargh!
Du überschreibst ja auch das Imagehandle "Ball" mit einem zufälligen Wert. Das kann gar nicht gehen. Ich weiss ja nicht was Du mit diesen Zufallszuweisungen erreichen willst, aber das Bildhandle darfst du keinenfalls ändern. Du solltest dich über Variablen nochmal etwas schlauer machen. |
||
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 |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Beim laden eines Images, wird die Speicheradresse von diesem in die angegeben Variable "geschrieben".
Code: [AUSKLAPPEN] Ball = LoadImage("Ball.bmp") repeat DrawImage Ball,60,110 Ball = Rnd(640,480) forever So hast du deinen Code geschrieben. Ball enthält dann plötzlich einen andren Wert, und hat nicht mehr die Adresse, BlitzBasic findet denn Ball nicht mehr und gibt aus Verzweiflung eine Fehlermeldung aus ![]() Ansonsten, was willst du überhaupt mit diesem Code anfangen?? ![]() //edit: 500 Post, aber leider zu spät ![]() ![]() |
||
![]() |
SonGoku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso,
ok danke, Mit Code: [AUSKLAPPEN] Rnd(620,480) wollte ich nur, dass der Ball nicht immer in die
gleiche Richtung fliegt, sondern immer woanders hin, nachdem der Ball den Balken berührt. Man muss dort doch den "Rnd" befehl benutzen ![]() ![]() |
||
Projekt "BlitzPong" --> 100%
BRL Account mit Blitz3D und BlitzMax für nur 67€!!! Das Buch "Spiele programmieren mit Blitz Basic" für nur 15€!!! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sie dir mal die Beschreibung zu Rand/Rnd in der OnlineHilfe nochmal genau an.
1. gibt Rnd was zurück, daher sind Konstrukte wie if ... then rnd(640,480) vollkommen sinnlos. 2. vermute ich dass du keinen blassen hast was die Parameter bei rnd() zu bedeuten haben. also: üben bis verstehen, dann wiederkommen. |
||
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 |
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie schon gesagt, das imagehandle nicht überschreiben. außerdem benutzt du dieses eine imagehandle, diese variable, auch für alles mögliche andere. einmal um das bild zu malen, einmal für die kollision, einmal für die x und y!!! position des balles... hey, du kannst ein programm auch mit mehr als 3 variablen schreiben, das geht echt... | ||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
Diablo |
![]() Antworten mit Zitat ![]() |
---|---|---|
guck dir mal das hier an: BB Ping-Pong TUT[/url] | ||
www.pb-software.de.vu
Meine Entwicklungsseite |
![]() |
SonGoku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() |
||
Projekt "BlitzPong" --> 100%
BRL Account mit Blitz3D und BlitzMax für nur 67€!!! Das Buch "Spiele programmieren mit Blitz Basic" für nur 15€!!! |
![]() |
SonGoku |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, du hattest völlig recht BladeRunner, ich hatte
keinen blassen, was die Parameter bei rnd() zu bedeuten haben. Also, habe ich mich hingesetzt und die erklärung so oft gelesen, bis ich es verstanden habe ![]() Danach habe ich mal den TUT gelesen und hab es jetzt verstanden, wie die kollisionen funktionieren. Aber eines kann ich immer noch nicht. Ich hab mein Schläger als bitmap und bei den TUT wird es nicht erklärt, wie man ein .bmp Ball mit einem .bmp Schläger kollidieren lässt. Ich hab schon seit gestern dran gearbeitet, aber ohne erfolg. Könnt ihr mir mal erklären, wie man es anstellen kann ![]() Hier mein neuer Quellcode (diesmal noch übersichtlicher) : Code: [AUSKLAPPEN] ;Projekt : Ping Pong ;Programmierer : SonGoku ;Datum : 05.03.2005 13:03 ;Start Graphics 640,480,16,2 AppTitle "Ping Pong" SetBuffer BackBuffer() ;Variablen Balken = LoadImage("Balken.bmp") ;Schläger var. MaskImage Balken,0,0,255 Ball = LoadImage("Ball.bmp") ;Ball var. MaskImage Ball, 0,0,255 Wand = LoadImage("Wand.bmp") ;Wand var. balkenx = 20 ;Schläger : breite balkeny = 110 ;Schläger : länge ballx = 60 ;Ball : breite bally = 110 ;Ball : länge bewegenx = 3 ;Ball speed x bewegeny = 3 ;Ball speed y ;Hauptschleife While Not KeyHit(1) Cls DrawImage Wand,0,0 ;Wand(Wand.bmp) zeichnen DrawImage Balken,Balkenx,Balkeny ;Schläger(Balken.bmp) zeichnen und die länge,breite (balkenx,y) zuweisen DrawImage Ball,ballx,bally ;Ball(Ball.bmp) zeichnen und die länge,breite (ballx,y) zuweisen If KeyDown(200) Then balkeny = balkeny-2 ;Wenn Taste (nach oben) gedrückt wird, dann den Schläger nach oben bewegen. If KeyDown(208) Then balkeny = balkeny+2 ;Wenn Taste (nach unten) gedrückt wird, dann den Schläger nach unten bewegen. ballx = ballx+bewegenx ;Ball nach links/rechts bewegen bally = bally+bewegeny ;Ball nach oben/unten bewegen If bally > 480-30 Then bewegeny = -3 ;Ball kollision (rechte Wandberührung) If bally < 0 Then bewegeny = +3 ;Ball kollision (obere Wandberührung) If ballx > 640-30 Then bewegenx = -3 ;Ball kollision (untere Wandberührung) If ballx = 0 Then End ;Wenn der Ball den Außenwand berührt dann Ende Flip Wend End ;Ende |
||
Projekt "BlitzPong" --> 100%
BRL Account mit Blitz3D und BlitzMax für nur 67€!!! Das Buch "Spiele programmieren mit Blitz Basic" für nur 15€!!! |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Ich hab mein Schläger als bitmap und bei den TUT wird
es nicht erklärt, wie man ein .bmp Ball mit einem .bmp Schläger kollidieren lässt. Ich hab schon seit gestern dran gearbeitet, aber ohne erfolg. damit: http://www.blitzbase.de/befehl...ollide.htm Code: [AUSKLAPPEN] if IMAGESCOLLIDE (ball, X1, Y1, 0, schlaeger, X2, Y2, 0) then
;mach was endif |
||
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
![]() |
SonGoku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Endlich hab ich es dank noir geschaft ^^
Danke Noir, dass du mir geholfen hast ![]() Jetzt kann ich mein minispiel weiter Proggen (endlich) 8) Nochmals Danke! |
||
Projekt "BlitzPong" --> 100%
BRL Account mit Blitz3D und BlitzMax für nur 67€!!! Das Buch "Spiele programmieren mit Blitz Basic" für nur 15€!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group