Python游戏开发! Mac完美安装pygame

pygame是python的2D游戏开发库, 优点是秉承了Python风格,简单好用

最近在macOS High Sierra10.13.5上安装pygame时遇到了一些问题:

  • pygame无法检测鼠标键盘事件
  • 用户无法聚焦到游戏窗口
  • docker栏无法显示游戏图标

经过一晚上的折腾, 终于找到了正确的解决方法, 分享一下

解决方法:

  1. 通过brew安装依赖包
brew install sdl smpeg sdl_image sdl_mixer sdl_ttf portmidi hg sdl_mixer portmidi
  1. 安装xquartz
https://www.xquartz.org/

  1. pip通过github源码安装pygame

这一步非常关键, 如果使用pip pygame直接安装, docker栏无法显示游戏的图标, 并且无法检测键盘事件

pip install https://github.com/pygame/pygame/archive/master.zip

  1. 官方Demo检验效果
python -m pygame.examples.aliens

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

git: 简洁高效 的 双分支式 git flow (master + dev)

使用 git branch (git 分支)进行版本控制,可以让大家有效地合作,使得项目井井有条地发展下去。

1473
来自专栏微信公众号:Java团长

大型网站技术架构演化

说到大型网站,就要先理一下大型网站的特点:高并发,大流量,高可用,海量数据等,本文根据《大型网站技术架构》一书整理如下:

972
来自专栏王金龙的专栏

大型网站架构技术一览

前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。

1431
来自专栏ThoughtWorks

第三方组件安全剖析 | 洞见

Apache Struts2再曝高危漏洞 前段时间,Apache Struts2又接连曝出了两个高危远程代码执行(Remoce Code Execution,下...

2706
来自专栏Linyb极客之路

分布式系统常见的事务处理机制

为保障系统的可用性、可靠性以及性能,在分布式系统中,往往会设置数据冗余,即对数据进行复制。举例来说,当一个数据库的副本被破环以后,那么系统只需要转换到其他数据副...

683
来自专栏Java技术栈

Redis 的 8 大应用场景!

之前讲过Redis的介绍,及使用Redis带来的优势,这章整理了一下Redis的应用场景,也是非常重要的,学不学得好,能正常落地是关键。

1203
来自专栏恰同学骚年

《大型网站技术架构》读书笔记二:大型网站架构模式

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。

762
来自专栏IT技术精选文摘

分布式系统常见事务处理机制

为保障系统的可用性、可靠性以及性能,在分布式系统中,往往会设置数据冗余,即对数据进行复制。举例来说,当一个数据库的副本被破环以后,那么系统只需要转换到其他数据副...

1828
来自专栏大数据互联网思维

大数据之如何采集数据

浏览器页面采集: 主要是收集页面的 浏览日志(PV/UV等) 和 交互操作日志(操作事件)。

1887
来自专栏知晓程序

用手机也能看小程序后台数据了!微信你很棒棒哦

这个小程序,能让开发者、运营者在手机上就能查看小程序的运营数据,随时随地掌握小程序的市场反应。

591

扫码关注云+社区