我正在测试在屏幕上移动不同的对象,但彼此独立,问题是当我将一个对象移到另一个对象之上时,最后一个对象消失了,尽管我blit
在屏幕上不断地对它们进行处理。为什么会发生这种情况,我怎样才能做得更好?
import pygame
from pygame.locals import *
from random import randrange
class Tst(object):
def __init__(self):
self.img=pygame.Surface((20,20))
self.img.fill((100,200,0))
self.rect=self.img.get_rect(center=(randrange(780),randrange(480)))
#pygame.draw.rect(TV,(0,0,255),self.rect,1)
TV.blit(self.img,self.rect)
def move(self):
mouse_pos=pygame.mouse.get_pos()
if pygame.mouse.get_pressed()[0]:
if self.rect.collidepoint(mouse_pos):
TV.fill((0,0,0),self.rect)
self.rect=pygame.Rect(mouse_pos[0]-10,mouse_pos[1]-10,20,20)
TV.blit(self.img,self.rect)
pygame.init()
TV=pygame.display.set_mode((800,500))
tstList=[]
for _ in range(10):
tstList.append(Tst())
while 1:
for e in pygame.event.get():
if e.type==QUIT:
pygame.quit()
for tst in tstList:
tst.move()
pygame.display.flip()