Mytic a écrit :Je devrai changer le liquide par des billes métalliques !
Comme ça la pression sera absorbée par le frottement.

tiens ça me fais penser a une connerie que j'avais pondu
tu veux donner du poids a tes sprites ??
regarde comment on fait :
; connerie codé par Dobro
#dobro =1
#Police =1
#Sprite =1
#Window =1
Structure sprite
x.l
Y.l
sensx.l
sensy.l
EndStructure
Dim sprite.sprite(1)
; ***********************************
Resultat = InitSprite ()
FontID = LoadFont ( #Police , "arial" , 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_ ( #SM_CXSCREEN ): ;=largeur de l'ecran
EcranY = GetSystemMetrics_ ( #SM_CYSCREEN ): ;=hauteur de l'ecran
WindowID = OpenWindow ( #Window , 0, 0,320, 200, "hello" , #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered )
Result = OpenWindowedScreen ( WindowID ( #Window ) ,0,0, 320, 200, 1, 0,0)
; creation d'un Sprite
CreateSprite ( #Sprite , 64, 64)
StartDrawing ( SpriteOutput ( #Sprite ) ) ; on dessine dedans
Circle (32, 32, 32 , RGB ($FF,$FF,$0))
StopDrawing ()
Resultat = InitMouse ()
sprite(1)\x=160
sprite(1)\Y=100
sprite(1)\sensx=2
sprite(1)\sensy=2
Repeat
While WindowEvent () : Wend
ExamineMouse ()
WindowEvent ()
Delay (2)
If MouseButton (2)
End
EndIf
sprite( #Sprite )\x=sprite( #Sprite )\x+sprite(1)\sensx
sprite( #Sprite )\Y=sprite( #Sprite )\Y+sprite( #Sprite )\sensy
If sprite( #Sprite )\x<0
sprite( #Sprite )\sensx=-sprite( #Sprite )\sensx
xwin = WindowX ( #Window )
ywin = WindowY ( #Window )
ResizeWindow ( #Window ,xwin-20,ywin, #PB_Ignore , #PB_Ignore )
Beep_ (100,50)
EndIf
If sprite(1)\x>320-64
sprite( #Sprite )\sensx=-sprite( #Sprite )\sensx
xwin = WindowX ( #Window )
ywin = WindowY ( #Window )
ResizeWindow ( #Window ,xwin+20,ywin, #PB_Ignore , #PB_Ignore )
Beep_ (100,50)
EndIf
If sprite( #Sprite )\Y>200-64
sprite( #Sprite )\sensy=-sprite( #Sprite )\sensy
xwin = WindowX ( #Window )
ywin = WindowY ( #Window )
ResizeWindow ( #Window ,xwin,ywin+20, #PB_Ignore , #PB_Ignore )
Beep_ (80,50)
EndIf
If sprite( #Sprite )\Y<0
sprite( #Sprite )\sensy=-sprite( #Sprite )\sensy
xwin = WindowX ( #Window )
ywin = WindowY ( #Window )
ResizeWindow ( #Window , xwin,ywin-20, #PB_Ignore , #PB_Ignore )
Beep_ (80,50)
EndIf
DisplaySprite ( #Sprite , sprite( #Sprite )\x, sprite( #Sprite )\Y)
FlipBuffers (): ; affiche l'ecran
ClearScreen ( RGB (0, 0, 0)) : ;efface l'ecran
Until Event= #PB_Event_CloseWindow