为什么控制方块移动时经过的地方会有方块的图片残留啊
代码如下(左右键控制移动,方块运动方向和方向键相反的)
主程序
import pygame
from floor import *
pygame.init()
pygame.display.set_caption("game")
screen = pygame.display.set_mode((800,600))
floor_list=[]
weight = 2
speed = 10
for i in range(weight):
for j in range(weight):
floor_list.append(floor(i*weight+j+1, weight,50))
floor_number = 0
for floor_number in floor_list:
floor_number.show(screen, 50)
print(floor_list)
while True:
for event in pygame.event.get():
# 固定写法,event,get可以一次获取多个事件,所以要循环遍历for event in pygame .event.get() :# 判断是否退出《点x)
if event.type == pygame.QUIT:
# 退出函数《一般不会这么简单,要保存)
exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
for floor_number in floor_list:
floor_number.rect.centerx += speed
floor_number.show(screen, 50)
if event.key == pygame.K_RIGHT:
for floor_number in floor_list:
floor_number.rect.centerx -= speed
floor_number.show(screen, 50)
if event.key == pygame.K_DOWN:
for floor_number in floor_list:
floor_number.rect.centery -= speed
floor_number.show(screen, 50)
if event.key == pygame.K_UP:
for floor_number in floor_list:
floor_number.rect.centery += speed
floor_number.show(screen, 50)
pygame.display.update()
floor文件
import pygame
class floor():
def __init__ (self,number,weight,jiange):
self.number = number
self.image = pygame.image.load(r'C:\Program Files\JetBrains\PyCharm Community Edition 2022.2.4\bin\game\picture\floor')
self.rect = self.image.get_rect()
self.rect.centerx = (self.number-1)%weight*jiange
self.rect.centery = (self.number-1)//weight*jiange
self.x = 0
self.y = 0
def show(self,screen,size):
self.shape = pygame.transform.scale(self.image, (size, size))
screen.blit(self.shape, self.rect)
起点在左上方
我想要方块从右上角开始移动不会留下残影
要有清屏呀