qq_39130397 2019-08-17 14:19 采纳率: 0%
浏览 3800

pygame.error: video system not initialized

按照视频的代码,但是报了这个错误,网上没有找到类似的答案
报错代码如下:

图片说明

报错如下:

图片说明

全部代码如下:
import pygame

from plan_sprites import *

游戏的初始化

pygame.init()

创建游戏的窗口 大小:480*700

screen = pygame.display.set_mode((480, 700))

绘制背景图像

1.加载图像数据

bg = pygame.image.load(r"H:\py\飞机大作战\images\background.jpg")
screen.blit(bg, (0, 0))

3. updata更新屏幕

绘制英雄的飞机

hero = pygame.image.load(r"H:\py\飞机大作战\images\me1.png")
screen.blit(hero, (150, 300))

可以在所有绘制工作完成后,统一调用updata方法

pygame.display.update()

创建时钟对象

clock = pygame.time.Clock()

1.定义rect记录飞机的初始位置

hero_rect = pygame.Rect(150, 300, 102, 106)

创建敌机的精灵

enemy = GameSprite(r"H:\py\飞机大作战\images\enemy1.png")
enemy1 = GameSprite(r"H:\py\飞机大作战\images\enemy1.png")

创建敌机的精灵组

enemy_group = pygame.sprite.Group(enemy,enemy1)

游戏循环-->意味着游戏的正式开始!

while True:
# 可以指定游戏循环内部的代码执行的频率
clock.tick(60)
# # 捕获事件
# event_list = pygame.event.get()
# if len(event_list) > 0:
# print(event_list)

# 监听事件
for event in pygame.event.get():

    # 判断事件类型是否是退出事件
        if event.type == pygame.QUIT:
            print("游戏结束!!")

            # quit 卸载所有的模块
            pygame.quit()
            # exit()直接终止当前正在执行的程序
            exit()
# 2. 修改飞机的位置
hero_rect.y -= 1

# 判断飞机的位置
if hero_rect.y <= -126:
    hero_rect.y = 700
# 3. 调用blit方法绘制图像
screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)

# 让精灵组调用两个方法
# updata 让组中的所有精灵更新位置
enemy_group.update()
# drow  在screen 上绘制所有精灵
enemy_group.draw(screen)

# 4. 调用updata方法更新显示
pygame.display.update()

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()

pygame.quit()


  • 写回答

4条回答

  • chenmy1903 2020-01-16 14:18
    关注

    还要有sys.exit()如果没有系统还会运行下去,而且pygame已经卸载了。

    评论

报告相同问题?

悬赏问题

  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据