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

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已经卸载了。

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况