Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在图形方面,Pygame能做什么是wxPython不能做的?

在图形方面,Pygame能做什么是wxPython不能做的?
EN

Stack Overflow用户
提问于 2008-12-05 03:03:36
回答 2查看 6K关注 0票数 16

我想用Python开发一个非常简单的2D游戏。Pygame是Python语言中最流行的游戏开发库,但我已经非常熟悉wxPython了,使用它也很舒服。我甚至用它写了一个Tetris clone,它非常流畅。

我想知道,Pygame在图形方面提供了什么(暂且不说声音),这是wxPython做不到的吗?是不是在Pygame中做图形比在wxPython中更简单/更快?它是否更具跨平台性?

看起来我漏掉了什么,但我不知道是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-12-05 06:35:59

从理论上讲,在Pygame中没有什么是wxPython做不到的。重点不在于做什么,而在于怎么做。在我看来,用PyGame编写游戏更容易,因为:

  • 它更快。Pygame是基于SDL的,这是一个专门为游戏设计的C库,它的开发考虑到了速度。当你开发游戏时,你需要速度。
  • 是一个游戏库,而不是一个通用的画布,它有用于精灵,转换,输入处理,绘制,碰撞检测的类和函数。它还实现了在游戏中经常使用的算法和技术,如脏矩形,翻页等。
  • thousands of games和用它制作的示例。你会更容易发现如何做任何技巧。
  • 有很多你可以重用的带有效果和实用程序的libraries。你想要一个等距游戏,有一个库,你想要一个物理引擎,有一个库,你有什么很酷的视觉效果,有一个library.
  • PyWeek.:)这是为了让你的游戏开发更有趣!

对于像俄罗斯方块这样非常简单的游戏,差别不会太大,但如果你想开发一个相当复杂的游戏,相信我,你会想要像PyGame这样的东西。

票数 19
EN

Stack Overflow用户

发布于 2008-12-05 06:53:07

wxPython基于面向图形用户界面的工具包wxWidgets。它的优点是使用它运行的系统提供的样式和装饰,因此很容易编写可移植的应用程序,这些应用程序可以很好地集成到您正在运行的任何东西的外观中。你想要一个复选框吗?使用wxCheckBox和wxPython将处理外观和交互。

另一方面,pyGame面向游戏开发,因此以wxPython没有的方式让您更接近硬件(也不需要这样做,因为它调用操作系统来绘制其大部分控件)。pyGame有很多与游戏相关的东西,比如碰撞检测,对表面和层的细粒度控制,或者在你选择的时间翻转显示缓冲区。

也就是说,在图形方面,您可能总是可以找到一种方法来使用这两个工具包做您想做的事情。然而,当速度很重要,或者你想实现比俄罗斯方块更繁琐的图形化游戏想法时,你可能会更好地使用pyGame。如果您想要使用大量的图形用户界面元素,并且不需要花哨的图形和声音功能,那么最好使用wxPython。

可移植性不是问题。这两个版本都适用于三大操作系统(Linux、OSX、Windows)。

这更多的是你需要什么样的特殊功能的问题,真的。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/343505

复制
相关文章
还有什么是JavaScript不能做的
不知不觉,JavaScript已经成为一门全栈语言,前端可以使用它,后台还能使用它,哪哪都有它的身影,都说python语言市场占有率极高,但是个人感觉JavaScript的出镜率比它还要高。
程序那些事儿
2023/03/07
3900
还有什么是JavaScript不能做的
AlphaFold能做些什么?
十多年来,分子生物学家Martin Beck和他的同事一直在努力拼凑世界上最难的拼图之一:人类细胞中最大的分子机器的详细模型。
Chris生命科学小站
2023/02/28
1.3K0
AlphaFold能做些什么?
JavaScript能做什么?
JavaScript除了做前端开发,还能做什么? 很多朋友学习的第一门编程语言就是JavaScript,学习的过程中一定会思考这个问题:“JavaScript除了做前端开发,还能做什么?”其实很多人问这个问题的时候,潜意识是有一些懒惰的嫌疑,希望JavaScript能做的事儿越多越好,这样我们专心学好JavaScript,就可以成为万金流,什么都能做,就再也不用管什么java、php、python等等编程语言了。 那我们在思考JavaScript能做什么之前,先看看下面这个问题: 厨房里的一把菜刀除了切
企鹅号小编
2018/01/22
2.1K0
JavaScript能做什么?
Gulp能做什么
var s = gulp.src(["fileA","fileB","fileC"])
Qwe7
2022/05/21
1.4K0
TPYBoard能做什么?
MicroPython基于ANSI C,语法跟Python 3基本一致,拥有自家的解析器、编译器、虚拟机和类库等。目前他支持基于32-bit的ARM处理器,比如说STM32F405。也就是说ARM处理器STM32F405上直接可运行Python语言,Python语言来控制单片机。
小板凳
2020/04/09
3.1K10
解读央行《区块链能做什么、不能做什么?》
但关键点还是价格稳定,性能提高,方便快捷,才会吸引更多的人使用,形成良性循环。目前稳定价格的策略有两种:
文彬
2018/12/10
2.1K0
解读央行《区块链能做什么、不能做什么?》
Python能做什么?
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicorn作为Web服务器,也能够运行Python语言编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的沟通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以让程序员轻松地开发和管理复杂的Web程序。
py3study
2020/01/15
1.3K0
听说递归能做的,栈也能做!
我们在栈与队列:匹配问题都是栈的强项中提到了,递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,所以这就是递归为什么可以返回上一层位置的原因。
代码随想录
2021/07/16
5180
大数据能做什么
在海量数据的背景下 1、快速查询 2、数据存储(超大量数据的存储,单个大文件(超过了一个硬盘最大的容量)) 3、快速计算(与传统方案对比 传统用了一个月,大数据用1小时) 4、实时计算(立刻马上) 5、数据挖掘(挖掘实际存在但是没有发现的有价值的数据)
云缓缓知我意
2021/04/15
1.3K0
Redis | 001能做什么?
本系列整理出于《Redis深度历险:核心原理与应用实践》一书,摘抄整理读后感与总结。
Java猫说
2019/04/11
1K0
大数据能做什么?
试问,在现今的各种【企业管理咨询】公司的熏陶下,还有几个企业是自己管理的,都是【职业】经理人,那么,真正的企业家会通过这个报表进行数据的查阅。你说【资本家】是不是可以更轻松了。更有时间琢磨【人性】,让普通老百姓,永远是老百姓而努力。
红目香薰
2022/11/29
1K0
大数据能做什么?
Python到底能做什么
Python今天是排名前3的最受欢迎和增长最快的编程语言之一。它是一种多用途,高级别,面向对象,交互式,解释型和对用户非常友好的编程语言。 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这是初学者计划在编程职业生涯中首选的语言。 Python可以做什么? 1、数据库:Python在数据库方面很优秀,可以和多种数据库进行连接,进行数据处理,从商业型的数据库到开放源码的数据库都提供支持。例如:Oracle, My SQL Server等等。有多种接口可以与数据库进行连接,至少包括ODBC。有许多公司采用着Python+MySQL的架构。因此,掌握了Python使你可以充分利用面向对象的特点,在数据库处理方面如虎添翼。 2、多媒体:利用PIL、Piddle、ReportLab 等模块,你可以处理图象、声音、视频、动画等,从而为你的程序添加亮丽的光彩。动态图表的生成、统计分析图表都可以通过Python来完成。 3、web开发框架:django是流行的web开发框架,使用优雅的python语言写成。采用MVC的软件设计模式,主要目标是使得开发复杂的、数据库驱动的网站变得简单。 4、科学计算:说起科学计算,首先会被提到的可能是MATLAB。然而除了MATLAB的一些专业性很强的工具箱还无法替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。 5、网络编程: Python可以非常方便的完成网络编程的工作,提供了众多的解决方案和模块,可以非常方便的定制出自己的服务器软件,无论是c/s,还是b/s模式,都有很好的解决方法。 6、游戏编程:Python在很早的时候就是一种游戏编程的辅助工具。在《星球大战》中扮演了重要的角色。目前,通过Python完全可以编写出非常棒的游戏程序。
用户10781703
2023/10/10
2500
C++能做什么[通俗易懂]
这里有一个有关系统、应用程序和库的列表,列表中的全部或者大部分代码用C++编写,当然,该列表并不全面。即使我如何努力,我也不能列举一个含有 1000个主要由C++编写的程序列表,但是这里的列表可能包含我听说过程序之中的第1000个。这是一个包括系统、应用程序和库的列表,读者可能熟悉其中的一些,新手可能有个概念C++能做什么,或者我仅仅觉得它很“酷”。
全栈程序员站长
2022/08/25
1.3K0
什么是redis,redis能做什么,redis应用场景
Redis是一个key-value存储系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。这篇文章小编为大家分享了在Windows下进行安装和使用Redis的技巧。
全栈程序员站长
2022/07/07
7040
月影:前端工程师不写网页,还能做什么?
最近疫情一直都在反反复复,几个城市都出现了确诊病例,感觉又回到了之前每天看信息图的那会儿。
用户3806669
2022/11/11
9240
月影:前端工程师不写网页,还能做什么?
月影:前端工程师不写网页,还能做什么?
今天不分享技术文,推荐一门不错的可视化课,搞可视化方向的应该都知道月影大佬。他的小册我也买了,都是干货啊!
程序员海军
2021/11/12
5400
月影:前端工程师不写网页,还能做什么?
分享敲代码能做些什么
如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。
GitHubDaily
2019/09/24
9440
AI时代,FreeSWITCH能做什么?
那么,智能时代跟FreeSWITCH什么关系呢?严格来说,其实没什么关系。你看,我今天又标题党了。
杜金房
2020/12/21
1.7K0
点击加载更多

相似问题

指针能做什么是变量不能做的?

50

Webpack的HMR能做什么是Browsersync不能做的?

10

你能做些什么来提升Pygame中的Fps

10

什么是LINQ ?它能做什么?

70

小程序能做什么,不能做什么

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文