blitting列表中的图片时程序崩溃

时间:2012-09-23 23:18:10

标签: python pygame

我正在尝试使用列表将多张图片blit到屏幕并将坐标附加到单独的列表中。

在列表中,使用图片的名称,我希望它输出,当子弹与图像碰撞时,我将其从列表中删除,以便从屏幕上删除它。但我还没有进行碰撞检测。

此外,当我使用这些函数运行它时程序崩溃它没有任何错误或任何东西。

#create enemies
lvl1 = [[alien2],[alien2],[alien1]]

def create_alien_list(level_list):
    x = 0
    y = 0
    i = 0
    alien_w = 0
    alien_h = 0
    for row in level_list:
        x = 10
        for col in row:
            if col: level_list[i].append([x,y])
            x += alien_w + 10
        i+=1
        b_y += alien_h + 5

def draw_aliens():
    i = 0
    for each in alien_list:
        screen.blit(level_list[i],(level_list[i][1],level_list[i][2]))
        i+=1

1 个答案:

答案 0 :(得分:2)

您的“draw_aliens”函数未将图像作为第一个参数传递给blit方法,因为它应该是。看看这里附带的代码,可以看到`level_list [i]是一个列表 - 一个图像。因此,如果这不是转录错误,只需将您的blitting行改为:

而是{p> screen.blit(level_list[i][0],(level_list[i][1],level_list[i][2]))。如果您确实没有收到任何错误消息,可能是由于Pygame的blit代码中的参数验证错误导致程序错误。