#导入pygame 库
import pygame
#设置常量
#颜色
GREEN=(0,197,205)
BLACK=(0,0,0)
#初始化
pygame.init()
#创建游戏窗口
screen=pygame.display.set_mode((800,600))#宽和高(screen 接入)
#设置游戏名称
pygame.display.set_caption("飞机大战")
#设置系统时钟
clock=pygame.time.Clock()
class Hero(pygame.sprite.Sprite):
def __int__(self,image_file):
pygame.sprite.Sprite.__init__(self,image_file)
self.image=pygame.Surface((50,50))#大小
self.image.fill(GREEN)#颜色
self.rect=self.image.get_rect()#行动
#初始化英雄
hero=Hero()
#初始化精灵组
all_sprite=pygame.sprite.Group()
all_sprite.add(hero)
#游戏循环
while True:
#设置刷新率
clock.tick(60)#一秒钟刷新60次
#玩家操作
for event in pygame.event.get():#找到所有事件
if event.type==pygame.QUIT:#如果事件类型等于关闭就关闭
pygame.quit()
exit()#程序关闭
#游戏更新
screen.fill(BLACK)
all_sprite.update()
#屏幕更新
all_sprite.draw(screen)
pygame.display.update()
为什么运行出现这种情况
AttributeError:“Hero”对象没有属性“image”
修改为 Hero 代码如下即可
class Hero(pygame.sprite.Sprite):
def __init__(self, *groups):
super().__init__(*groups)
self.image = pygame.Surface((50, 50)) # 大小
self.image.fill(GREEN) # 颜色
self.rect = self.image.get_rect() # 行动