ich bin noch anfänger und möchte in das Programm ein Bild einfügen. Es ist so eingestellt das der Hintergrund neutral ist, und wenn ich da nen bild einfügen will, dann malt der Ball den ganzen Bildschirm voll. Kann mir da jemand helfen.
Ich hab da unten meinen Quelltext eingefügt damit ihr es mal nachgucken könnt.
Danke
Code: Alles auswählen
; 1. Inizierung
;die tastatur wir angegeben und die Bildschirmauflösung auf 1024, 768 gesetzt
InitSprite()
InitKeyboard()
OpenScreen(1024,768,16,"ppb")
;dies sind die VAriablen für den Schläger und den Ball, X und Y wert des Bildschirms
Global BallX.w
Global BallY.w
Global SchlaegerX.w
Global SchlaegerY.w
Global BewegX.w
Global BewegY.w
Global Schlaeger2X.w
Global Schlaeger2Y.w
Global BackX.w
Global BackY.w
Global Durchgefallen.w
Global tuchpoint.w
Global tuchpoint2.w
;position des Balles, flugrichtung des balles, und position des schläegers
BallX = 619
BallY = 439
BewegX = -2
BewegY = -2
SchlaegerX = 1024 - 5
SchlaegerY = 400 - (40 / 2)
Schlaeger2X = 5 - 5
Schlaeger2Y = 400 - (40 / 2)
tuchpoint = 0
tuchpoint2 = 0
Repeat
; laden der Grafik
LoadSprite(0,"GFX\Back.bmp",0)
; 2. Grafik setzen
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
DisplaySprite(0,BackX,BackY)
FrontColor(255,255,255)
DrawingMode(1) ;Hintergrund hinter der Schrift neutral
Locate(400,25) ; Die Punkte sollen nach links oben
DrawText("1. Player: " + Str(tuchpoint)) ; Und da sind Sie auch schon
Locate(530,25) ; Die Anzeige der Durchgefallenen soll nach rechts oben
DrawText("2. Player: " + Str(tuchpoint2)) ; ...
;Box(0,0,20,768) ;wand links
Box(0,0,1024,20) ;wand oben
Box(0,748,1024,20) ;wand unten
Box(SchlaegerX,SchlaegerY,5,40) ;schlägergröße
Box(Schlaeger2X,Schlaeger2Y,5,40) ;schlägergröße 2
Box(BallX-1,BallY-1,3,3) ;weil der ball genau in der mitte sein soll und der ball aber 3 Pixel hat und der 2te soll es sein
StopDrawing() ;beenden das malvorgangs
FlipBuffers()
; 3. Abfrage der Benutzer Eingaben
ExamineKeyboard()
If KeyboardPushed(200) ;taste nach oben
SchlaegerY - 2 ;bewegen nach oben
EndIf
If KeyboardPushed(208) ;taste nach unten
SchlaegerY + 2 ;bewegen nach unten
EndIf
If SchlaegerY < 21 ;damit der schläger nicht aus der Wand raus geht
SchlaegerY = 20
ElseIf SchlaegerY > 748 - 40
SchlaegerY = 748 - 40
EndIf
;Schläger2
If KeyboardPushed(#PB_Key_W) ;taste nach oben
Schlaeger2Y - 2 ;bewegen nach oben
EndIf
If KeyboardPushed(#PB_Key_S) ;taste nach unten
Schlaeger2Y + 2 ;bewegen nach unten
EndIf
If Schlaeger2Y < 21 ;damit der schläger nicht aus der Wand raus geht
Schlaeger2Y = 20
ElseIf Schlaeger2Y > 750 - 40
Schlaeger2Y = 750 - 40
EndIf
; 4. Bewegung des Balles
BallX + BewegX
BallY + BewegY
; 5. Kollision
If BallX < 0 ;wenn der ball gegen die wand fliegt soll er die Flugrichtung ändern von negativ zu positiv
BewegX = 2
EndIf
If BallY < 20
BewegY = 2
EndIf
If BallY > 748
BewegY = -2
EndIf
;wenn der ball den schläger berührt ändert er die flugrichtung
If BallX > SchlaegerX And BallX < SchlaegerX + 5 And BallY > SchlaegerY And BallY < SchlaegerY + 40
BewegX = -2
tuchpoint2 = tuchpoint2 +1
EndIf
;wenn der ball den schläger berührt ändert er die flugrichtung
If BallX > Schlaeger2X And BallX < Schlaeger2X + 5 And BallY > Schlaeger2Y And BallY < Schlaeger2Y + 40
BewegX = 2
tuchpoint = tuchpoint +1
EndIf
;falls er den ball trifft, so fängt er wieder bei REPEAT an und läuft alles erneut durch
Until KeyboardPushed(1) Or BallX > 1024 Or BallX < 0 ;wenn der ball auserhalb des bildschirms ist, ist das spiel zu ende oder die esc taste wird gedrückt
Delay(500)
CloseScreen()
If Str(tuchpoint) > Str(tuchpoint2)
MessageRequester("Game Over", "Der 1. Player hat mit " + Str(tuchpoint) + " Punkten gewonnen!",0) ; Und noch einmal die Punkte anzeigen
ElseIf Str(tuchpoint) = Str(tuchpoint2)
MessageRequester("Game Over", "Unentschieden!",0) ; Und noch einmal die Punkte anzeigen
Else
MessageRequester("Game Over", "Der 2. Player hat mit " + Str(tuchpoint) + " Punkten gewonnen!",0) ; Und noch einmal die Punkte anzeigen
EndIf