Python 在pygame中,如何制作图像列表并在随机位置绘制它们?

Python 在pygame中,如何制作图像列表并在随机位置绘制它们?,python,image,pygame,move,Python,Image,Pygame,Move,我需要在屏幕上随机位置绘制精灵,我如何才能做到这一点 class SpriteOrange(MyGame): def __init__(self, image): self.image = pygame.image.load(image) self.x = 0 self.y = 0 def draw1(self, screen): screen.blit(self.image, self.x, self.y) def update(self): self

我需要在屏幕上随机位置绘制精灵,我如何才能做到这一点

class SpriteOrange(MyGame):
def __init__(self, image):
    self.image = pygame.image.load(image)
    self.x = 0
    self.y = 0
def draw1(self, screen):
    screen.blit(self.image, self.x, self.y)

def update(self):
    self.x = random.randrange(0, 400)
    self.y = random.randrange(0, 400)

您可以使用函数
draw(screen)
update()
(随机更改位置)创建类
SpriteOrange

您可以创建SpriteOrange的实例列表

self.oranges = []

for x in range(10):
    self.oranges.append(SpriteOrange('orange.png'))
您可以更改位置:

for o in self.oranges:
    o.update()
你可以画:

for o in self.oranges:
    o.draw(self.screen)

如果您需要更多的了解,并且

范围无法工作,那么您正在对范围返回的整数调用更新。A
表示self中的o。橙色是您想要的。另外,由于所有橙色精灵都是相同的图片,因此无需为每个橙色加载新图像。我建议将图像作为参数,而不是发送图像路径。我假设OP希望将SpriteOrange与不同的图像一起使用,并将其用作创建SpriteSwitch的示例。他已经在内存中列出了3个指向同一曲面的桔子。但你是对的,我们不应该担心这样一个小程序中的内存问题。我已经按照你说的做了所有事情,我现在编辑了代码,但现在我有另一个问题,python告诉我:回溯(最近一次调用):文件“mygame.py”,第122行,在mygame().run()AttributeError中:“mygame”对象没有属性“run”
for o in self.oranges:
    o.draw(self.screen)