python - Pygame 移动物体/图像重复自身

标签 python pygame pygame-clock

我正在使用 pygame 构建一个简单的游戏,该游戏的功能是控制图像并使其向上/向下左/右移动,但我遇到了这个问题,向下或向旁边移动时图像会重复自身 <code>image</code>

import pygame
pygame.init()
display_width = 1080
display_height = 1080

screen = pygame.display.set_mode((display_width,display_height))

Clock = pygame.time.Clock()
pygame.display.set_caption('DEMO')
black=(0,0,0)
white=(255,255,255)
red=(255,0,0)
green=(0,255,0)
blue=(0,0,255)
screen.fill(white)

face=pygame.image.load('H:\\brain.jpg')

 def brain(x,y):
     screen.blit(face,(x,y))

 x1 =(display_width*0.5)
 y1 =(display_height*0.5)
  x_change =0
   y_change =0
  gameExit = False

while not gameExit:
for event in pygame.event.get():

    if event.type == pygame.QUIT:
        gameExit = True

    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT:
            x_change = -5
        elif  event.key == pygame.K_RIGHT:
            x_change = 5
        elif event.key == pygame.K_DOWN:
            y_change = 5
        elif event.key == pygame.K_UP:
            y_change = -5
    if event.type == pygame.KEYUP:
        if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
            x_change = 0
    if event.type == pygame.KEYUP:
        if event.key == pygame.K_DOWN or event.key == pygame.K_UP:
            y_change = 0

x1 += x_change
y1 += y_change
print(event)
brain(x1,y1)
pygame.display.update()
Clock.tick(100)
pygame.quit()
quit()

最佳答案

您必须在 while 循环的每次迭代中位 block 传输背景:

 while True:
     for event in pygame.event.get():

         #get keyboard input


     screen.fill((255, 255, 255)) #or, you can draw a background image

     x1 += x_change
     y1 += y_change
     print(event)
     brain(x1,y1)
     pygame.display.update()

关于python - Pygame 移动物体/图像重复自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44769981/

相关文章:

python - Django Web 服务器在启动守护进程后挂起

python - 更改 tensorflow 中张量的比例

python - 如何在 `python setup.py test` 中运行 py.test 和 linters

python - PyGame窗口在while循环期间崩溃-没有错误消息

python - win.blit()后台pygame时出现滞后

python - 在pygame中计算时间

python - 为什么我的 PyGame 平台游戏突然变慢了?

python - 语法错误 : 'continue' not properly in loop

python - Pygame 键盘输入事件滞后

python - 在pygame上创建简单的声音