python3 pygame load图片不显示_Python——mac下pygame踩坑,绘制图像不加载
问题描述:mac下python3版本安装pygame后开发小游戏时,背景和角色在画布上不加载,创建游戏循环执行时,一直加载背景不刷新;
pygame相对比较简单,直接上代码:
import pygame
# 游戏的初始化
pygame.init()
# 创建游戏的窗口 480 * 700
screen = pygame.display.set_mode((480, 700))
# 绘制背景图像
bg = pygame.image.load("./images/background.png")
screen.blit(bg, (0, 0))
# pygame.display.update()
# 绘制英雄的飞机
hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (150, 300))
# 可以在所有绘制工作完成之后,统一调用update方法
pygame.display.update()
# 创建时钟对象
clock = pygame.time.Clock()
# 1. 定义rect记录飞机的初始位置
hero_rect = pygame.Rect(150, 300, 102, 126)
# 游戏循环 -> 意味着游戏的正式开始!
while True:
# 可以指定循环体内部的代码执行的频率
clock.tick(60)
# 2. 修改飞机的位置
hero_rect.y -= 1
# 判断飞机的位置
if hero_rect.y <= 0:
hero_rect.y = 700
# 3. 调用blit方法绘制图像
screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)
# 4. 调用update方法更新显示
pygame.display.update()
pygame.quit()
问题分析&解决:
1、开始设置画布时候就感觉到有些不对,一直感觉加的while循环不太对,后来尝试time.sleep还是一直加载画布,后来前边去掉while循环,画布上设置的飞机和背景一闪即逝,当时想反正闪的那一下看到了,方法没问题,不管继续干,后来终于干不下去了;
2、弄到windows跑完全没问题,然后linux也没问题;
最后想了下还是网上找了下结果,然后说是mac下不兼容,要不系统降级(然后心头一凉,开啥玩笑)。
然后另一套方案是安装conda虚拟一套环境,当时我就否决了;一套conda环境能吃掉多少内存从我windows下红红的磁盘空间我就怕怕了,而且mac下我本身虚拟了三套virtualenv环境,外加虚拟机我是决然不会冒这个风险的,再次否决二连;
后来终于看到有人说while循环部分加上如下代码就可以:
import pygame
while True:
event = pygame.event.poll()
if event.type == pygame.QUIT():
pygame.quit()
exit()
clock.tick(60)
然后我加了,然后给我报了一个:
if event.type == pygame.QUIT():
TypeError: 'int' object is not callable
至此已经给了我否认三连,最终我分析了代码,既然event监听时间在这里起了作用,不妨一试,于是按照event方法加上如下代码:
event_list = pygame.event.get()
if len(event_list) > 0:
print(event_list)
捕获以下时间看看,然后竟然就ok之前while循环问题就解决了;
关键部分就是while循环中的事件捕获;
import pygame
# 游戏的初始化
pygame.init()
# 创建游戏的窗口 480 * 700
screen = pygame.display.set_mode((480, 700))
# 绘制背景图像
bg = pygame.image.load("./images/background.png")
screen.blit(bg, (0, 0))
# pygame.display.update()
# 绘制英雄的飞机
hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (150, 300))
# 可以在所有绘制工作完成之后,统一调用update方法
pygame.display.update()
# 创建时钟对象
clock = pygame.time.Clock()
# 1. 定义rect记录飞机的初始位置
hero_rect = pygame.Rect(150, 300, 102, 126)
# 游戏循环 -> 意味着游戏的正式开始!
while True:
# 可以指定循环体内部的代码执行的频率
# 捕获事件
event_list = pygame.event.get()
if len(event_list) > 0:
print(event_list)
# event = pygame.event.poll()
# if event.type == pygame.QUIT():
# pygame.quit()
# exit()
clock.tick(60)
# 2. 修改飞机的位置
hero_rect.y -= 1
# 判断飞机的位置
if hero_rect.y <= 0:
hero_rect.y = 700
# 3. 调用blit方法绘制图像
screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)
# 4. 调用update方法更新显示
pygame.display.update()
pygame.quit()
#修改后的代码,继续完善中;
python3 pygame load图片不显示_Python——mac下pygame踩坑,绘制图像不加载相关推荐
- Mac下Charles踩坑记录
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- Github图片无法显示解决(Mac版)
标题Github图片无法显示解决(Mac版) [问题如下]: [解决] 及时更新github.com等一些域名对应的ip地址 ip地址查询网址,在该网址查询对应域名对应的ip,如: mac下:执行命令 ...
- Atitit.png 图片不能显示 php环境下
Atitit.png 图片不能显示 php环境下 1.1. 不能显示png 下载png 检查使用bcompare与正常png对比.. 多了bom头 , "\xEF\xBB\xBF" ...
- 绿联USB对拷线MAC版使用经验踩坑分享(支持macOS11 BigSur系统及以下)
目录 绿联USB对拷线MAC版使用经验踩坑分享 官网安装说明 准确的安装流程 注意事项 资源下载 绿联USB对拷线MAC版使用经验踩坑分享 不得不说因为这个对拷线的使用说明极其简陋,导致我一度怀疑人生 ...
- gmail cid图片不显示_python爬虫:爬取男生喜欢的图片
任务目标: 1.抓取不同类型的图片 2.编写一个GUI界面爬虫程序,打包成exe重新文件 3.遇到的难点 1.分析如何抓取不同类型的图片 首先打开网站,可以看到有如下6个类型的菜单 在这里插入图片描述 ...
- Mac下pygame代码没有错误,但是游戏窗口死活不出现,程序坞小火箭闪动
第一篇博客: 写了一个pygame的代码,但是运行后连最基本的游戏界面都不出现,控制台代码没有错,截图如下: 转存失败重新上传取消正在上传-重新上传取消出现这种原因是python版本和pygame版本 ...
- mac安装python环境教程_python mac下安装虚拟环境的图文教程
Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Fla ...
- mac python3.8怎样安装scrapy_Python爬虫与mac下Scrapy配置
用Python开发爬虫很方便. 本质:抓取---分析---存储 要点: (1)get请求:最基本抓取.用到 urllib urllib2 requests httplib2 . (2)表单登陆: ...
- Mac 下安装 Python-OpenCV Python-OpenCV 处理图像(一):基本操作
首先确保已经安装了Python Mac 下可以直接使用 brew 来安装OpenCV,具体步骤如下: # add opencv brew tap homebrew/science# install o ...
最新文章
- exec函数族的使用
- php css下划线,如何自定义下划线的样式
- Java 线程池的介绍以及工作原理
- 数据库原理及应用【三】DBMS+SQL
- 下面选项中不是开发java程序的步骤是_Java基础试题及其答案2
- ddt python_python-ddt实践
- SpringBoot之获取配置文件中的数据
- 三层架构+ajax分页实例,ASP.NET存储过程实现分页效果(三层架构)
- python decorator. decorator_decorator在Python中的作用
- iPad常用的目录路径
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)...
- Python中利用scipy库进行最小二乘回归分析(金融相关)
- 【UE编辑器怎么添加新的语法高亮】
- xpath爬取美女图片
- 新世纪音乐——天籁之音
- 小米路由器 mini 有线中继设置教程
- 关于‘\0’,‘0’,“0”,0的区别
- 关于《深圳市龙华区技能人才扶持办法(试行)》的政策解读
- HDU 6608 FansBlog(粉丝博客)(MillerRabin算法+威尔逊算法)
- java包图标变白纸怎么解决_桌面图标变成一张白纸怎么办?