j'arrive pas à crée une balle qui rebondis en X et Y
Publié : ven. 08/août/2014 13:54
Bonjour
j'arrive pas à crée une balle qui rebondis en X et Y j'ai pas compris la partie 2 du tuto de falsam .
Merci
les images :
Balle :

Fond :

Raquette:

MurHaut

Mur gauche

Mur droit

j'arrive pas à crée une balle qui rebondis en X et Y j'ai pas compris la partie 2 du tuto de falsam .
Merci
les images :
Balle :

Fond :

Raquette:

MurHaut

Mur gauche

Mur droit

Code : Tout sélectionner
;--Constante pour la fenetre jeux
Enumeration
#Main_jeux
EndEnumeration
; Sprite pour le fond , le mur en haut,mur de gauche et à droite
Global S_Background,WallH,WallG,WallD
;Sprite pour la raquette avec la position X et Y
Global Raquette,RaquetteX=350,RaquetteY =580
;Sprite pour la balle avec la position X et Y + et velocité Y
Global Balle,BalleX=400,BalleY=100,VelociteY=5
;Procedure de chargement des images pour les sprites
Procedure Chargement_images()
UseJPEGImageDecoder()
UsePNGImageDecoder()
;Chargement de l'image du Background, du Mur en haut , à gauche et à droite
S_Background = LoadSprite(#PB_Any ,"images\Fond.jpg")
WallH = LoadSprite(#PB_Any ,"images\Wall.jpg")
WallG=LoadSprite(#PB_Any ,"images\WallG.jpg")
WallD=LoadSprite(#PB_Any ,"images\WallD.jpg")
;Chargement de l'image de la Raquette
Raquette =LoadSprite(#PB_Any,"images\Raquette.png", #PB_Sprite_AlphaBlending)
;Chargement de l'image de la balle
Balle =LoadSprite(#PB_Any,"images\Balle.png", #PB_Sprite_AlphaBlending)
EndProcedure
;Procedure de Mise à jour du jeux
Procedure Game_Afficher()
;Evenement du clavier
ExamineKeyboard()
;Deplacement de la raquette à gauche
If KeyboardPushed(#PB_Key_Left)
RaquetteX-5
EndIf
;Deplacement de la raquette àdroite
If KeyboardPushed(#PB_Key_Right)
RaquetteX+5
EndIf
; Deplacement de la balle en Y
BalleY+VelociteY
;Affichage du Background et du mur en haut ,mur de gauche et droite
DisplaySprite (S_Background,0,0)
DisplaySprite(WallH,0,0)
DisplaySprite(WallG,0,10)
DisplaySprite(WallG,785,10)
;Affichage de la raquette
DisplayTransparentSprite(Raquette,RaquetteX,RaquetteY)
;Affichagfe de la balle
DisplayTransparentSprite(Balle,BalleX,BalleY)
;Collision de la balle entre la raquette et le mur d'en haut
If SpriteCollision(Balle,BalleX,BalleY,Raquette,RaquetteX,RaquetteY) Or SpriteCollision(Balle,BalleX,Balley,WallH,0,0)
VelociteY*-1
EndIf
EndProcedure
;Procedure GameStart
Procedure GameStart()
;Taille de la fenetre de jeux
Protected Taille_Width=800
Protected Taille_Height=600
;On initialise l'environement 2D
If InitSprite()=0 Or InitKeyboard()=0 Or InitMouse()=0
MessageRequester("Erreur","l'Environement 2D n'est pas etre initialisé",0)
EndIf
;On crée la fenetre jeux
If OpenWindow(#Main_jeux,0,0,Taille_Width,Taille_Height,"KASSBRICK 2D",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(#Main_jeux),0,0,Taille_Width,Taille_Height)
Chargement_images()
EndIf
EndIf
;Boucle des evenements
Repeat
Repeat
Event=WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event=0
FlipBuffers()
ClearScreen(RGB(0,0,0))
Game_Afficher()
Until KeyboardPushed(#PB_Key_Escape)
EndProcedure
GameStart()