
Tel une crevette, g décortiqué ton code du "tank" Huitbit, afin de trouver la formule des boulets de canon, mais.....
y a un vers.... (je l'ai enfermé)
Code : Tout sélectionner
;@ Chikun
EcranX = GetSystemMetrics_(#SM_CXSCREEN) ;1280
EcranY = GetSystemMetrics_(#SM_CYSCREEN) ;800
InitSprite() : InitKeyboard()
OpenScreen (EcranX, EcranY, 32, "Test")
Structure panach
x.f
y.f
coul.l
ang.f
dt.f
gravite.f
vitesse.f
vectx.f
vecty.f
EndStructure
Dim panach.panach(1)
Enumeration
#fond
#panach
EndEnumeration
n=1
CreateSprite(#fond,EcranX,EcranY)
StartDrawing(SpriteOutput(#fond))
Box(0,0,EcranX,EcranY,RGB(0,0,0))
StopDrawing()
panach(n)\coul=RGB(10,157,32)
CreateSprite( #panach,32,32)
StartDrawing(SpriteOutput(#panach))
Circle(16, 16, 16, panach(#panach)\coul)
StopDrawing()
panach(n)\x=EcranX/2
panach(n)\y=EcranY/2
panach(n)\vitesse=80
panach(n)\ang=45*#PI/180
panach(n)\dt=0.1
panach(n)\gravite=9.8
panach(n)\vectx=panach(n)\vitesse*Cos(panach(n)\ang)
panach(n)\vecty=-panach(n)\vitesse*Sin(panach(n)\ang)
Repeat
For t=1 To 10
panach(n)\vecty=panach(n)\vecty+panach(n)\gravite*panach(n)\dt
panach(n)\x=panach(n)\x+panach(n)\vectx*panach(n)\dt
panach(n)\y=panach(n)\y+panach(n)\vecty*panach(n)\dt
If panach(n)\x> EcranX-34 Or panach(n)\x<0
panach(n)\vectx=-panach(n)\vectx : panach(n)\gravite=-panach(n)\gravite
EndIf
If panach(n)\y>EcranY-34 Or panach(n)\y<0
panach(n)\vecty=-panach(n)\vecty
EndIf
StartDrawing(ScreenOutput())
DrawText(0,0,"@ Chikun",RGB(125,90,30),RGB(0,0,0))
StopDrawing()
DisplayTransparentSprite(#panach,panach(n)\x,panach(n)\y)
Next t
FlipBuffers()
DisplaySprite(#fond,0,0)
Delay(1)
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
End