Y'en a marre, moi aussi je veux faire ma chipro de la balle qui tue

et pourquoi pas au final un jeu ! (bon c'est pas pour demain le jeu


Donc je me lance dans mes 1ers essais 2D, un tout nouveau monde (plein de commandes que j'ai a peine survolée), mais qui m'enchante.
Voilà mon 1er petit code.. Je pense que je vais avoir besoin de connaisseurs sous peu

Monsieur Sprite se déplace de gauche à droite, tellement il est costaud, lorsqu'il touche le bout d'une fenêtre, il la déplace.
Lorsqu'il en a marre de se cogner (10x) il ferme le programme.
Code : Tout sélectionner
;Mon 1er test 2D / PB 4.40
InitSprite()
;position fenêtre
PosWinX=649
PosWinY=145
; Dimensions du personnage
Lcorps=50 : Hcorps=60 ; Dimension du corps
Ltete=Lcorps/2 ; Rayon de la tête donc 2 fois plus petit que la largeur du corps
Ljambe=15 : Hjambe=100 ; Dimension des jambes
Hsprite=Hcorps+Hjambe+Ltete*2 : Lsprite=Lcorps; Dimension du sprite entier, ces dimensions découle de la taille des parties du corps
; Positions
Xcorps=0 : Ycorps=Ltete*2
Xtete=Xcorps+Ltete
XjambeG=Xcorps : Yjambe=Ycorps+Hcorps
XjambeD=Lcorps-Ljambe
; Autre paramettres
vitesse = 5
gauche=-vitesse
droite=vitesse
cogne=0
If OpenWindow(0, PosWinX, PosWinY, 400, Hsprite+20, "Window", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
ButtonGadget(0, 0, Hsprite, Lsprite, 20, "Quitter")
TextGadget(1,Lsprite+50,Hsprite+5,150,15,"BoOm :"+Str(cogne))
If OpenWindowedScreen(WindowID(0), 0, 0, 400, Hsprite, 0, 0, 0)
CreateSprite(0, Lsprite, Hsprite)
If StartDrawing(SpriteOutput(0))
Circle(Xtete, 25, Ltete, RGB(255, 0, 155)) ; tete
Box(Xcorps, Ycorps, Lcorps, Hcorps, RGB(155, 0, 255)) ; Corps
Box(XjambeG, Yjambe, Ljambe, Hjambe, RGB(55, 100, 255)) ; jambe gauche
Box(XjambeD, Yjambe, Ljambe, Hjambe, RGB(55, 100, 255)) ; jambe droite
StopDrawing()
Else
Debug "Error startdrawing"
EndIf
Else
Debug "Error openwindowsscreen"
EndIf
Else
Debug "Error openwindow"
EndIf
;{- Event loop
direction = droite
Repeat
; Il est très important de traiter tous les événements restants dans la file d'attente à chaque tour
;
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 0
End
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
DisplaySprite(0, x, 0)
x + direction
If x > 400-Lsprite
PosWinX=WindowX(0)+40
ResizeWindow(0, PosWinX, #PB_Ignore, #PB_Ignore, #PB_Ignore)
direction = gauche
cogne+1
EndIf
If x < 0
PosWinX=WindowX(0)-40
direction = droite
ResizeWindow(0, PosWinX, #PB_Ignore, #PB_Ignore, #PB_Ignore)
cogne+1
EndIf
SetGadgetText(1,"BoOm :"+Str(cogne))
If cogne=10
Break
EndIf
Delay(2)
ForEver