Bonjour,
j'ai réalisé un petit programme pour simuler le déplacement d'un bateau avec les touches fléchés.
Le programme semble fonctionner mais je trouve que le déplacement est parfois saccadé (le "bateau" vibre légèrement).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import pygame
from pygame.locals import *
from math import *
 
pygame.init()
fenetre = pygame.display.set_mode((1280, 800))
Clk=pygame.time.Clock()
 
sprite_origine=pygame.Surface((32,160))
sprite_origine.fill((255,0,0))
 
 
AngleB=0
speed=0
rspeed=0
 
Xb=300
Yb=300
 
while True:
 
    event=pygame.event.poll()
    Clk.tick(30)
 
    #gestion event  
    if event.type == KEYDOWN :
        if event.key==K_UP:
            speed-=2
        elif event.key==K_DOWN:
            speed+=1
        elif event.key==K_LEFT:
            rspeed+=0.5
        elif event.key==K_RIGHT:
            rspeed-=0.5
 
    AngleB+=rspeed
    AngleB_rad=((AngleB*pi)/180)
    Vx=speed*sin(AngleB_rad)
    Vy=speed*cos(AngleB_rad)
 
    Xb+=Vx
    Yb+=Vy
 
    round(Xb)
    round(Yb)
 
    Rotationboat=pygame.transform.rotozoom(sprite_origine,AngleB,1)
    RectBoat=Rotationboat.get_rect(center=(Xb,Yb))
 
    fenetre.fill((0,0,0))   
    fenetre.blit(Rotationboat,RectBoat)
 
    pygame.display.flip()
J'aimerai savoir si il est possible d’améliorer ce mouvement ou si ces imperfection sont due à une limite de la SDL.
Merci