python - 在列表中位图传送图片时程序崩溃

标签 python pygame

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

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

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

#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

最佳答案

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

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

关于python - 在列表中位图传送图片时程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557111/

相关文章:

Python 无法打开 UTF-8 编码的文本文件

python - pygame.draw.rect() 参数太多

python - 尝试在 Python 3.4.3 上通过 pip 安装 PyGame 时出现 HTTP 错误 400

python - 在 python 中使用计数器进行循环?

python - 通过 python 处理数据库会给出错误的结果

Python - Tkinter - 在列表中设置 IntVar

python - Python 中的时钟

python - 在pygame中临时保存图像

python - 有什么方法可以让 "clear"成为一个表面吗?

python - 我想用 Python 列出一个目录,然后按大小对文件名进行排序