我对pygame完全陌生,我正在努力在游戏中实现“laserblast”和“tarantula”之间的碰撞检测。我读过很多关于表面和精灵的文件pygame.org网站以及其他网站(包括堆栈溢出),但不幸的是,我无法完全理解它们的概念。在
另外,我想远离课堂,因为我不太熟悉它们,我计划在以后的项目中发展我对它们的知识。在
我经常遇到的错误是
Traceback (most recent call last):
File "C:\Python27\jetfighterx.py", line 44, in <module>
if pygame.sprite.collide_rect(laserblast.rect, tarantula.rect):
AttributeError: 'pygame.Surface' object has no attribute 'rect'
当喷气式战斗机向敌人发射激光时,游戏也很快就崩溃了。在
我真的需要帮助来解决这个问题。在
我的代码是:
^{pr2}$
您可能应该阅读pygameSurface类。你可以用Surface.get_剪辑()返回一个可以检查冲突的rect。另外,考虑使用直线碰撞()方法而不是精灵方法。使用它,你的代码将是
就像dudxo所说的,你应该考虑为你的游戏元素使用类。在
相关问题 更多 >
编程相关推荐