鱼C论坛

 找回密码
 立即注册
查看: 1092|回复: 2

[已解决]问题:__init__() missing 1 required positional argument: 'speed'

[复制链接]
发表于 2020-5-19 11:33:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
运行时出现这个问题:
__init__() missing 1 required positional argument: 'speed'
求大佬解决
  1. import pygame
  2. from plane_spritee import *


  3. class PlaneGame(object):
  4.     def __init__(self):
  5.         print("游戏初始化")
  6.         self.screen = pygame.display.set_mode(SCREEN_RECT.size)
  7.         self.clock = pygame.time.Clock()
  8.         self.__creat_sprites()

  9.     def __creat_sprites(self):
  10.         # 背景精灵和精灵组
  11.         bg1 = Background("./images/background.png")
  12.         self.back_ground = pygame.sprite.Group(bg1)

  13.     def start_game(self):
  14.         print("游戏开始")
  15.         while True:
  16.             self.clock.tick(FRAME_PRE)
  17.             self.__event_handler()
  18.             self.__check_collode()
  19.             self.__update_sprites()
  20.             pygame.display.update()
  21.             pass

  22.     def __event_handler(self):
  23.         for event in pygame.event.get():
  24.             if event.type == pygame.QUIT:
  25.                 PlaneGame.__game_over()

  26.     def __check_collode(self):
  27.         pass

  28.     def __update_sprites(self):
  29.         self.back_ground.update()
  30.         self.back_ground.draw(self.screen)
  31. [code]import pygame

  32. # 定义屏幕大小的常量
  33. SCREEN_RECT = pygame.Rect(0, 0, 400, 700)
  34. # 刷新帧率
  35. FRAME_PRE = 60


  36. class GameSprite(pygame.sprite.Sprite):
  37.     """飞机大战游戏精灵"""

  38.     def __init__(self, image_name, speed):
  39.         # 调用父类的初始化方法
  40.         super().__init__()
  41.         # 定义对象的属性
  42.         self.image = pygame.image.load(image_name)
  43.         self.rect = self.image.get_rect()
  44.         self.speed = speed

  45.     def update(self, *args):
  46.         self.rect.y += self.speed
  47.         pass
  48. class Background(GameSprite):
  49.     """游戏背景精灵"""
  50.     def update(self):
  51.         super().update()
  52.         if self.rect.y>=SCREEN_RECT.height:
  53.             self.rect.y = -self.rect.y
复制代码

    @staticmethod
    def __game_over():
        print("游戏结束")
        pygame.quit()
        exit()


if __name__ == '__main__':
    """创建游戏对象,启动游戏"""
    game = PlaneGame()
    game.start_game()
[/code]

最佳答案
2020-5-19 11:35:46
找找实例化 GameSprite 的地方,看传入了几个参数
如果只传入了一个,那么得再传入一个
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-19 11:35:46 | 显示全部楼层    本楼为最佳答案   
找找实例化 GameSprite 的地方,看传入了几个参数
如果只传入了一个,那么得再传入一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 11:57:04 | 显示全部楼层
代码发全,报错发全
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 18:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表