繁体   English   中英

Pygame无法将图像对齐到矩形列表

[英]Pygame Cannot Blit An Image To A List Of Rectangles

我正在与pygame一起工作,我认为制作它是一个超好主意,以便在游戏开始时自动生成积木。 因此,我做了一个函数,询问要生成多少个砖块,然后在特殊位置为这些砖块创建“实体”,并将它们分配给列表。 然后,在while循环中,我尝试用相应的图像将其blit。 但是,我遇到了从未见过的错误。

错误图片

import pygame, sys
import random
import numpy
pygame.init()

def myPopulater(amountToMake, image, width, h):


    myBodies = []
    for i in range(amountToMake):
        r1 = numpy.random.randint(0, width)
        r2 = numpy.random.randint(0, h)
        myBodies = myBodies + image.get_rect()
        myBodies[i].x = r1
        myBodies[i].x = r2
    return myBodies

width = 500
h = 500

ball = pygame.image.load("c:\\python\\ball.png")
screen = pygame.display.set_mode((width, h))

myList = myPopulater(25, ball, width, h)
while (1):
        #WHENEVER SOMETHING HAPPENS
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

        screen.fill(black)
        for i in range(0, 25):
            screen.blit(ball, myList[i])
        pygame.display.flip()

据我image.get_rect() ,您正在尝试将image.get_rect()的结果添加到myBodies列表中。

您应该使用list.append方法将元素添加到list对象。

更改此行:

myBodies = myBodies + image.get_rect()

对此:

myBodies.append(image.get_rect())

这样可以解决您的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM