Crossin的编程教室

标题: win64上写的pygame游戏到了Mac上就不能用了 [打印本页]

作者: 123    时间: 2017-6-22 22:38
标题: win64上写的pygame游戏到了Mac上就不能用了

如图,好不容易把mac上的python换成32位的,然后装好了pygame, 结果运行以前在win上写的小游戏成了这个样子,实际上鼠标在空白区域时也控制着飞机的移动,但是就是显示面积只有窗口的一半了。而且由于我是利用每帧物体移动几个像素,感觉游戏速度比在win上至少慢了两三倍,是不是因为32位就慢呢?不过还是这个窗口是主要问题啊!!!mac真难用!!

Screen Shot 2017-06-22 at 10.28.16 PM.png (820.05 KB, 下载次数: 458)

只显示一半

只显示一半


作者: crossin先生    时间: 2017-6-22 23:45
确认下mac上背景图片的实际尺寸,另外改一下 pygame.display.set_mode() 里的参数试试
可能是 retina 屏造成的不同。
作者: 123    时间: 2017-6-23 11:42
crossin先生 发表于 2017-6-22 23:45
确认下mac上背景图片的实际尺寸,另外改一下 pygame.display.set_mode() 里的参数试试
可能是 retina 屏造 ...

Mac上图片的实际尺寸和在win上的一样,而且空白地方并不是没有作用,实际上鼠标在整个程序界面上的移动才能控制显示区域的飞机。我试了一下改变display.set_mode()里的界面大小,但是无论改多大,显示面积只有整个界面的4分之1倍(长二分之一,宽二分之一倍)
作者: 123    时间: 2017-6-23 11:43
这个pygame包我开学要用啊,实在是不想在mac上装win,真是愁死我了
作者: 123    时间: 2017-6-23 13:27
crossin先生 发表于 2017-6-22 23:45
确认下mac上背景图片的实际尺寸,另外改一下 pygame.display.set_mode() 里的参数试试
可能是 retina 屏造 ...

在pycharm里运行报错:
2017-06-23 12:57:02.091 Python[7777:1069639] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
Jun 23 12:57:02  Python[7777] <Error>: The function ‘SLSFlushWindow’ is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance. Please use `SLSFlushWindowContentRegion' instead.
是不是说这个pygame的版本过时了,应该换一个新版本,先生的python和pygame都用的什么版本啊
作者: crossin先生    时间: 2017-6-23 21:00
123 发表于 2017-6-23 11:42
Mac上图片的实际尺寸和在win上的一样,而且空白地方并不是没有作用,实际上鼠标在整个程序界面上的移动才 ...

set_mode 除了大小还有其他参数啊,感觉是图像位数的不同

建议你先用简单的代码在mac上调试成功,再把你的飞机程序移植过去
作者: 123    时间: 2017-6-24 15:51
crossin先生 发表于 2017-6-23 21:00
set_mode 除了大小还有其他参数啊,感觉是图像位数的不同

建议你先用简单的代码在mac上调试成功,再把你 ...

解决了,我换了个最新版的python64位的然后用pip install pygame自动选择pygame版本下载弄好了, 谢谢先生!




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5