Kleines Problem bei Ping-Pong-Programm
Übersicht

millhouseBetreff: Kleines Problem bei Ping-Pong-Programm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich bin absoluter Anfänger was BB betrifft und hab mich anhand des Forums an das Ping-Pong-Spiel gewagt. Jetzt ist mir da ein Problem aufgefallen und ich weiß nicht warum das so ist. Folgendes: Dieses Programm funktioniert soweit (ist noch nicht ganz fertig) Code: [AUSKLAPPEN] FensX=800:FensY=600
Graphics FensX,FensY,32,2 Rect 2,2,20,100 Pad1 = CreateImage(20,100) Pad2 = CreateImage(20,100) GrabImage Pad1,2,2 GrabImage Pad2,2,2 Ball=CreateImage(30,30) SetBuffer ImageBuffer(Ball) Color 255,255,255 Oval 0,0,30,30 MidHandle Ball ClsColor 0,200,0 SetBuffer BackBuffer() BallX#=400 BallY#=300 Repeat Cls ClsColor 0,0,0 X=MouseX() Y=MouseY() If MouseHit(1) Then BallMoveX#=Rand(-5,5):BallMoveY#=Rand(-5,5) BallX#=BallX#+BallMoveX# BallY#=BallY#+BallMoveY# If BallX#<15 Or BallX#>FensX-15 Then BallMoveX#=BallMoveX#*-1 If BallY#<15 Or BallY#>FensY-15 Then BallMoveY#=BallMoveY#*-1 DrawImage Ball,BallX#,BallY# DrawImage Pad1, 2,y If y >= 500 Then DrawImage Pad1, 2,500 DrawImage Pad2, 780,0 End If DrawImage Pad2, 780,600-100- y Flip Until KeyDown(1)=1:End Aber dieses hier nicht: Code: [AUSKLAPPEN] Graphics 800,600,32,2
Rect 2,2,20,100 Pad1 = CreateImage(20,100) Pad2 = CreateImage(20,100) GrabImage Pad1,2,2 GrabImage Pad2,2,2 Ball=CreateImage(30,30) SetBuffer ImageBuffer(Ball) Color 255,255,255 Oval 0,0,30,30 MidHandle Ball ClsColor 0,200,0 SetBuffer BackBuffer() BallX#=400 BallY#=300 Repeat Cls ClsColor 0,0,0 X=MouseX() Y=MouseY() If MouseHit(1) Then BallMoveX#=Rand(-5,5):BallMoveY#=Rand(-5,5) BallX#=BallX#+BallMoveX# BallY#=BallY#+BallMoveY# If BallX#<15 Or BallX#>FensX-15 Then BallMoveX#=BallMoveX#*-1 If BallY#<15 Or BallY#>FensY-15 Then BallMoveY#=BallMoveY#*-1 DrawImage Ball,BallX#,BallY# DrawImage Pad1, 2,y If y >= 500 Then DrawImage Pad1, 2,500 DrawImage Pad2, 780,0 End If DrawImage Pad2, 780,600-100- y Flip Until KeyDown(1)=1:End Es sind nur die ersten 2 Zeilen unterschiedlich. Aber warum geht das mit der ersten Variante und nicht mit der zweiten? Danke und Gruß Millhouse |
||
- Zuletzt bearbeitet von millhouse am Fr, Dez 22, 2006 1:10, insgesamt einmal bearbeitet
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If y >= 500 Then
DrawImage Pad1, 2,500 DrawImage Pad, 780,0 End If wenn ich das richtig gesehen habe dann sollte das aber so sein! Code: [AUSKLAPPEN] If y >= 500 Then
DrawImage Pad1, 2,500 DrawImage Pad2, 780,0 End If denn Pad ist kein Bild |
||
[BB2D | BB3D | BB+]
|
millhouse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Ralliman,
da hab ich mich vertippt ; ) Ich meinte folgende zeilen: mit FensX=800:FensY=600 Graphics FensX,FensY,32,2 Rect 2,2,20,100 funktionierts und mit dem hier nicht: Graphics 800,600,32,2 Rect 2,2,20,100 Warum ist das so?? Denn da steht doch inhaltlich das gleiche?! |
||
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, es steht nicht das gleiche drin.
Du gibst beim ersten Code FensX und FensY an. Doch beim zweiten nicht und trotzdem ziehst du bei beiden -15 zur Überprüfung ab: Code: [AUSKLAPPEN] If BallX#<15 Or BallX#>FensX-15 Then BallMoveX#=BallMoveX#*-1
If BallY#<15 Or BallY#>FensY-15 Then BallMoveY#=BallMoveY#*-1 D.h. du musst nach Graphics noch die "FensX=800:FensY=600" angeben damit dein Spiel weiß wie groß das Spielfeld ist denn dies fehlt im zweiten Code. MFG Ironstorm |
||
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium |
millhouse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alles Klar! Jetzt sehe ich meinen Fehler! Danke.
/closed |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group