Mac下使用pygame实现飞机大战load图片问题 在mac下初次使用pygame踩坑纪实(卡死)

首先搜到了如下解决方案:

在mac下初次使用pygame踩坑纪实(卡死) 

  初次使用pygame实现绘图功能就踩坑

直接上代码

import pygame

pygame.init()

# 创建游戏的窗口 480 * 700
screen = pygame.display.set_mode((480, 700))

# 绘制背景图像
# 1> 加载图像数据
bg = pygame.image.load("./images/background.png")
# 2> blit 绘制图像
screen.blit(bg, (0, 0))
# 3> update 更新屏幕显示
pygame.display.update()

while True:
pass

pygame.quit()

这段代码在linux以及windows下运行没毛病,但是在mac系统下偏偏卡死了。

很头疼,我想出现卡死最有可能是因为无限循环造成的,于是乎,我把循环代码删除。重新运行能看到绘制的图片一闪而过。

那么问题肯定就出在循环里面了。

于是我又收索"运行pygame出现卡死"的问题,在网上看到了这样一段代码

while True:
event = pygame.event.poll()
if event.type == pygame.QUIT:
pygame.quit()
exit()

当我把这段代码复制粘贴后,奇迹出现了。绘图窗口正常运行了。

 有知道原因的同学请不吝赐教

但是修改之后,还是背景依然空白,图片没有load下来。删除while循环运行,发现并没有绘制的图片一闪而过,于是考虑版本问题。

pygame官方网站:https://www.pygame.org/wiki/GettingStarted

在写代码前已经安装过了pygame2.0.0,但是在pycharm运行时,自动安装的却是pygame1.9.6 ==

于是修改pygame版本为2.2.0

pycharm -> preferences -> project interpreter

选取左下方‘+’号,搜索栏输入pygame,选中pygame。注意⚠️:勾选specific version,选择2.0.0.dev8。 最后 install package即可。

重新运行,图片显示成功!

直接上代码

import pygame

pygame.init()

# 创建游戏的窗口 480 * 700
screen = pygame.display.set_mode((480, 700))

# 绘制背景图像
# 1> 加载图像数据
bg = pygame.image.load("./images/background.png")
# 2> blit 绘制图像
screen.blit(bg, (0, 0))
# 3> update 更新屏幕显示
pygame.display.update()

while True:
pass

pygame.quit()

这段代码在linux以及windows下运行没毛病,但是在mac系统下偏偏卡死了。

很头疼,我想出现卡死最有可能是因为无限循环造成的,于是乎,我把循环代码删除。重新运行能看到绘制的图片一闪而过。

那么问题肯定就出在循环里面了。

于是我又收索"运行pygame出现卡死"的问题,在网上看到了这样一段代码

while True:
event = pygame.event.poll()
if event.type == pygame.QUIT:
pygame.quit()
exit()

当我把这段代码复制粘贴后,奇迹出现了。绘图窗口正常运行了。

 有知道原因的同学请不吝赐教

但是修改之后,还是背景依然空白,图片没有load下来。删除while循环运行,发现并没有绘制的图片一闪而过,于是考虑版本问题。

pygame官方网站:https://www.pygame.org/wiki/GettingStarted

在写代码前已经安装过了pygame2.0.0,但是在pycharm运行时,自动安装的却是pygame1.9.6 ==

于是修改pygame版本为2.2.0

pycharm -> preferences -> project interpreter

选取左下方‘+’号,搜索栏输入pygame,选中pygame。注意⚠️:勾选specific version,选择2.0.0.dev8。 最后 install package即可。

重新运行,图片显示成功!

猜你喜欢

转载自www.cnblogs.com/Lyyyyy28/p/12892552.html
今日推荐