Problème de débutant
Publié : mar. 15/mars/2005 16:49
Bonjour à tous,
Mon problème et le suivant
Avec le petit programme ci-dessous,la balle fait assez souvent des saccades en se déplaçant, alors qu'avec un programme comme PUREBREAKER ou SOKOBAN 3D écrit eux aussi en PureBasic tout est
parfaitement fluide ( trés beaux programmes qui montrent toutes les possibilités de PureBasic )
Ai-je fait une faute de programmation ? Ou alors y à-t'il une possibilité
de donner en quelque sorte la priorité à PureBasic pendant son exécution.
En vous remerçiant de votre aide.
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"")
LoadSprite(1,"balle.bmp")
xbal = 500
ybal = 200
xb = 2
yb = 5
Repeat
ExamineKeyboard()
ClearScreen(200,200,200)
StartDrawing(ScreenOutput())
Box(300,20,700,750,RGB(128,128,128))
StopDrawing()
DisplayTransparentSprite(1,xbal,ybal)
xbal + xb
ybal + yb
Gosub test:
If KeyboardPushed(#pb_key_escape)
End; Fin du jeu
EndIf
FlipBuffers()
ForEver
test:
If ybal < 20
ybal = 20
yb = -yb
EndIf
If ybal > 700
ybal = 700
yb = - yb
EndIf
If xbal < 300
xbal = 300
xb = - xb
EndIf
If xbal > 980
xbal = 980
xb = -xb
EndIf
Return
Mon problème et le suivant
Avec le petit programme ci-dessous,la balle fait assez souvent des saccades en se déplaçant, alors qu'avec un programme comme PUREBREAKER ou SOKOBAN 3D écrit eux aussi en PureBasic tout est
parfaitement fluide ( trés beaux programmes qui montrent toutes les possibilités de PureBasic )
Ai-je fait une faute de programmation ? Ou alors y à-t'il une possibilité
de donner en quelque sorte la priorité à PureBasic pendant son exécution.
En vous remerçiant de votre aide.
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"")
LoadSprite(1,"balle.bmp")
xbal = 500
ybal = 200
xb = 2
yb = 5
Repeat
ExamineKeyboard()
ClearScreen(200,200,200)
StartDrawing(ScreenOutput())
Box(300,20,700,750,RGB(128,128,128))
StopDrawing()
DisplayTransparentSprite(1,xbal,ybal)
xbal + xb
ybal + yb
Gosub test:
If KeyboardPushed(#pb_key_escape)
End; Fin du jeu
EndIf
FlipBuffers()
ForEver
test:
If ybal < 20
ybal = 20
yb = -yb
EndIf
If ybal > 700
ybal = 700
yb = - yb
EndIf
If xbal < 300
xbal = 300
xb = - xb
EndIf
If xbal > 980
xbal = 980
xb = -xb
EndIf
Return