Я пытался использовать .copy () и .move_ip () для дублирования прямоугольника, но все, что нужно, это переместить исходный прямоугольник, не создавая два.Я также дважды пытался вызвать pygame.rect.draw, но все, что он делает - это перемещает исходное изображение, ничего не оставляя.
import pygame
pygame.init()
dis = pygame.display.set_mode((500, 500))
x = 0
y = 500-40
height = 40
width = 100
run = True
vel = 10
clock = pygame.time.Clock()
direction = 'Right'
ran = True
game = 0
def animate(ran, x, y, height, width, direction)#Pygasm:
if ran:
if x < vel:
direction = 'Right'
elif x > 500-width-vel:
direction = 'Left'
if direction == 'Right':
x += vel
elif direction == 'Left':
x -= vel
dssz = pygame.draw.rect(dis, (255, 0, 0), pygame.Rect(x, y, width, height))
return x, y, width, height, direction
while run:
for ev in pygame.event.get():
if ev.type == pygame.QUIT:
run = False
if ev.type == pygame.KEYDOWN:
if ev.key == pygame.K_UP:
game+=1
ran = False
if ev.key == pygame.K_DOWN:
game = 0
pygame.draw.rect(dis, (255,0,0), pygame.Rect(x,y,width,height))
y -= 40
ran = True
dis.fill((0, 0, 0))
keys = pygame.key.get_pressed()
x, y, height, width, direction = animate(ran, x, y, height, width, direction)
pygame.display.flip()
clock.tick(60)
pygame.quit()