yhuuuuu 2024-06-18 15:50 采纳率: 100%
浏览 3
已结题

python飞机大战游戏GameSprite报错

python初学者,我用的是pycharm编码器,想看网课自学做《飞机大战》游戏,前面一切都好,结果到创建完敌机精灵,我尝试运行时就出错了。
以下是我的完整游戏代码:
飞机大战代码

import sys
import pygame
from plane_sprites import *
pygame.init()#初始化pygame
#创建游戏窗口
screen = pygame.display.set_mode((480,752))
#游戏标题栏
pygame.display.set_caption('飞机大战')

#绘制背景图像
#1.加载图像数据
bg = pygame.image.load('background.png')
#2.使用blit方法绘制图像
screen.blit(bg,(0,0))

#绘制我方战机
hero1 = pygame.image.load('hero1.png')
screen.blit(hero1,(200,500))#图片出现位置

#3.调用flip更新屏幕显示
pygame.display.flip()




#在游戏初始化中创建游戏时钟对象
clock = pygame.time.Clock()
#定义飞机的初始位置
hero1_rect = pygame.Rect(200,500,102,126)

#创建敌机的精灵
enemy = GameSprite('enemy1.png')
#创建敌机的精灵组
enemy_group = pygame.sprite.Group(enemy)



#死循环 游戏循环,游戏不暂停,代表游戏开始
while True:
    clock.tick(60)#游戏帧率
    hero1_rect.y -= 1
    screen.blit(bg, (0, 0))
    screen.blit(hero1,hero1_rect)

    enemy_group.update()
    enemy_group.draw(screen)


    if hero1_rect.y <= 0:
        hero1_rect.y = 700
    pygame.display.flip()
    for event in pygame.event.get():
        if event.type ==pygame.QUIT:#判断事件类型是否属于游戏结束
            sys.exit()#直接终止程序


精灵和精灵组代码

import pygame



class GameSprite(pygame.sprite.Sprite):#飞机大战精灵
    def __init__(self):
        #调用父类的初始化方法
        super().__init__()
        #定义对象的属性
        self.image = pygame.image.load(image_name)
        self.rect = self.image.get_rect()
        self.speed = speed

    def update(self):
        #在屏幕的垂直方向上移动
        self.rect.y += self.speed
        pass

运行报错如下

img

看不太懂,还请各位多多指教,在下感激不尽!

  • 写回答

2条回答 默认 最新

  • yhuuuuu 2024-06-18 16:13
    关注

    可以啦,解决啦,哈哈哈哈

    img

    img

    我把里面的代码补充完整就可以了,不过我前面也试过补充完整,但它依旧报错,不知道为什么突然又行了,神奇,可能是我太粗心了。感谢大家的浏览,问题已解决。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日
  • 创建了问题 6月18日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见