等风来����� 2019-07-17 16:05 采纳率: 50%
浏览 309

近期学习python,遇到了这个难题,请各路大神帮我解答一下?

运行的时候出现这个问题:

图片说明

相关代码如下:
alien__invasion.py

图片说明

settings.py

图片说明

ship.py

图片说明

game__functions.py

import sys

import pygame

from bullet import Bullet

def check_keydown_events(event,ai_settings,screen,ship,bullets):
#响应按键
if event.key == pygame.K_RIGHT:
ship.moving_right = True
elif event.key == pygame.K_LEFT:
ship.moving_left = True
elif event.key == pygame.K_SPACE:
fire_bullet(ai_settings,screen,ship,bullets)

def check_keyup_events(event,ship):
#响应松开
if event.key == pygame.K_RIGHT:
ship.moving_right = False
elif event.key == pygame.K_LEFT:
ship.moving_left = False

def check_events(event,ai_settings,screen,ship,bullets):
#响应按键和鼠标操作
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()

        elif event.type == pygame.KEYDOWN:
            check_keydown_events(event,ai_settings,screen,ship,bullets)

        elif event.type == pygame.KEYUP:
            check_keyup_events(event,ship)

        elif event.key == pygame.K_q:
            sys.exit()

def update_screen(ai_settings,screen,ship,alien,bullets):
#更新屏幕上的图像
#每次循环时都重绘屏幕
screen.fill(ai_settings.bg_color)
for bullet in bullets:
bullet.draw_bullet()
ship.blitme()
alien.blitme()

    #让最近绘制的屏幕可见
    pygame.display.flip()

def update_bullets(bullets):
#更新子弹的位置
bullets.update()
#删除已消失的子弹
for bullet in bullets.copy():
if bullet.rect.bottom <= 0:
bullets.remove(bullet)

def fire_bullet(ai_settings,screen,ship,bullets):
#创建一颗子弹,并将其加入到编组bullet中
if len(bullets) < ai_settings.bullets_allowed:
new_bullet = Bullet(ai_settings,screen,ship)
bullets.add(new_bullet)

bullets.py

图片说明

alien.py

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2019-07-18 09:17
    关注

    异常显示你使用的 get_events 的方法少了一个参数,建议去找找相关 API 的调用过程修正一下参数。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog