python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因相关的知识,希望对你有一定的参考价值。

具体错误是:运行之后,正常,但是一点击 Play按钮就会崩溃,文件内容键截图,错误提示 : screen_rect = screen.get_rect()AttributeError: 'GameStats' object has no attribute 'get_rect'

只能说明你复制粘贴的能力还欠缺

追问

我按照书本上面打的,但是不知道为什么会有这个问题,
再计分的最高分的时候还是正常的,提示错误的地方也没有问题,但是不知道为什么全部写完的时候就出错误了,你的代码这个是对的,但是能请教一下,我这里到底是什么原因导致的错误

参考技术A

跟下面热心网友回答的一样 ,出现这种错误的原因是参数的顺序出现了不一致,screen与stats两个参数传递时颠倒了,也即出现stats.get_rect(),故报错函数无该属性。

参考技术B game_functions.py中的函数update_aliens()的参数顺序前后出现不一致导致。
具体来说,就是在主程序中引用该函数时和该函数在定义时的参数顺序不一致。
AttributeError:'GameStats' object has no attribute 'get_rect",说明是参数
stats与screen顺序被无意中交换过了
参考技术C 注意主调函数和子函数 实参与形参一一对应 参考技术D 可以把你game_function发出来看看吗

以上是关于python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因的主要内容,如果未能解决你的问题,请参考以下文章

python小游戏《外星人入侵》的主题与玩法升级

pygame外星人入侵

python应用篇之外星人入侵项目——外星人(上)

pygame入门小游戏(外星人入侵:创建一个简单的窗口)

python应用篇之外星人入侵项目——记分(上)

简单的Python项目——《外星人入侵》(关键词:pygame,类,函数,编组,图像)