当前位置:   article > 正文

外星人入侵游戏python学习心得——子弹不动_python抵御外星人游戏观后感

python抵御外星人游戏观后感

《python从入门到实践》
书中的第一个项目——外星人入侵(Alien Invasion),书中的代码有一些细微的问题,在学习过程中,按照书中的代码敲写出现了一些问题。

一.问题描述:

书中代码如下***(在game_functions.py文件中):***
()在这里插入图片描述
在学习过程中出现了子弹可以显示,但无法移动的现象。前面的***bullet.py***文件中已经定义了子弹移动函数(书中代码如下):
在这里插入图片描述
之所以子弹无法移动,是因为在***game_functions.py***文件中的如下部分:
在这里插入图片描述
并没有调用***bullet.py***中的子弹移动函数***def update(self)?**(即没有使用子弹移动这个共功能,你根本没要求它动)

二.解决办法

故***game_functions.py***文件中的***def update_screen(ai_settings,screen,ship,bullets)?**正确代码应该为:

def update_screen(ai_setting, screen, ship, bullets):
    """更新屏幕的图像,切换到屏幕"""
    # 每次循环更新屏幕
    screen.fill(ai_setting.bg_color)

    # 在飞船和外星人后面重绘制所有子弹
    for bullet in bullets.sprites():
        bullet.draw_bullet() # 子弹绘制
        bullet.update_bullet() # 子弹移动
        
    ship.blitme()
    # 让最近的图像可见
    pygame.display.flip()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这样,子弹就可以移动了,嘻嘻(若有帮助,就关注我吧,对我以此鼓励)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/123198
推荐阅读
相关标签
  

闽ICP备14008679号