Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表中快速播放图片时,程序崩溃_Python_Pygame - Fatal编程技术网

Python 在列表中快速播放图片时,程序崩溃

Python 在列表中快速播放图片时,程序崩溃,python,pygame,Python,Pygame,我正在尝试使用一个列表将多张图片快速显示到屏幕上,并将坐标添加到单独的列表中 在一个带有图片名称的列表中,我希望它输出,当子弹与图像发生碰撞时,我将其从列表中删除,以便将其从屏幕上删除。但是我还没有做碰撞检测 而且,当我使用这些函数运行它时,程序只是崩溃了,没有任何错误或任何东西 #create enemies lvl1 = [[alien2],[alien2],[alien1]] def create_alien_list(level_list): x = 0 y = 0

我正在尝试使用一个列表将多张图片快速显示到屏幕上,并将坐标添加到单独的列表中

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

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

#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_”函数没有像应该的那样将图像作为第一个参数传递给
blit
方法。查看此处所附的代码,可以看到“level_list[i]是一个列表,而不是一个图像。因此,如果这不是一个分档错误,只需将您的分档行更改为:


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

如果真的没有错误,那么它可能还没有崩溃。如果您在Windows中运行此命令,则应从命令行运行它,以便查看任何错误回溯。很可能它确实崩溃了,但你只是没有看到错误。目前,很难调试代码,因为很明显,大部分重要的代码都被遗漏了,因为仅使用上述代码不会产生任何有用的结果。什么叫创建外星人列表和绘制外星人?什么变量是级别列表?您如何确定此特定代码中存在错误?您确定create_alien_list和draw_alien在同一个列表上运行吗?您没有将列表作为参数传递给draw_aliens。您可能希望将每个aliens设置为a,并创建一个显示。通过这种方式,您可以轻松实现,并且还可以使用序列帮助删除死亡时的角色。是的,我确信这是代码,因为当我使用函数运行程序时,它不工作,python shell中没有出现错误,而当我不使用函数时,它运行良好。我在函数中使用lvl1列表,我只是relized我没有在两个函数中使用相同的列表。在外星人列表中:它仍然没有工作,它打开了窗口,然后弹出窗口,说程序已经停止工作和所有的废话。我很确定错误只出现在create_alien_list()中,因为当我只使用它时,它不起作用。我不知道问题出在哪里,我把它寄给了我的两个叔叔,其中一个非常忙,另一个看了看,也不知道问题出在哪里。