Заикание при движении PygamePython

Программы на Python
Ответить
Anonymous
 Заикание при движении Pygame

Сообщение Anonymous »

Когда я пытаюсь переместить поверхность в Pygame, она странно заикается. Даже когда я использую dt, скорость движения не постоянна. Даже несмотря на то, что FPS колеблется в районе 59-61, Surface иногда перемещается всего на несколько пикселей, а иногда делает большой скачок вперед. Нет видимой задержки или паузы между кадрами. Я видел, как эта проблема возникала во многих проектах Pygame.
Я не нашел никакого рабочего решения этой проблемы, кроме использования более высокой частоты кадров.
import pygame

# setup
pygame.init()
screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()

# start position of rect
x = 0
dt = 0

running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# move react
x += 200 * dt

# refresh
screen.fill("black")
# draw rect on Surface
pygame.draw.rect(screen, "white", (x, 200, 50, 50))
# flip
pygame.display.flip()

dt = clock.tick(60) / 1000


Подробнее здесь: https://stackoverflow.com/questions/798 ... stuttering
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»