pygame.draw.circle(screen, btms3, (250, 187.5), 125, 2)
pygame.display.update()
x=10
y=10
running = 1
while running:
if x <=10:
hmove = 1
elif x >= 350:
hmove = -1
if hmove == 1:
x += 1
elif hmove == -1:
x += -1我该怎么做才能像标题上说的那样?我确实有游戏翻转和显示,更新和诸如此类的事情,但我不能显示,因为我不想有一个超长的代码。
发布于 2022-04-20 16:11:25
您必须在应用程序循环中移动对象,并且必须在每个frame.Change中重新绘制场景,即循环中圆圈的中心坐标,并在每个帧中的新位置绘制圆圈:
import pygame
pygame.init()
screen = pygame.display.set_mode((360, 360))
clock = pygame.time.Clock()
x, y, hmove = 10, 10, 1
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
x += hmove
if x >= 350 or x <= 10:
hmove *= -1
screen.fill((0, 0, 0))
pygame.draw.circle(screen, "red", (x, y), 10, 2)
pygame.display.update()
clock.tick(100)
pygame.quit()
exit()

典型的PyGame应用程序循环必须:
限制每秒的帧使用pygame.time.Clock.tick
pygame.event.pump()或pygame.event.get().
blit all objects)
pygame.display.update()或pygame.display.flip())
https://stackoverflow.com/questions/71942770
复制相似问题