问题标签 [pygame]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
423 浏览

python - 使用 PyGame 设计冒险游戏的正确方法是什么?

我已经开始和几个人一起开发一款小型 2d 冒险侧视图游戏。游戏将包含常规元素:房间、主角、物品栏、NPC、物品和谜题。我们之所以选择 PyGame,是因为我们之前都熟悉 python。我的问题是非常理论化的,但是我们如何以一种好的方式设计它呢?屏幕上的每个对象都会与某个主循环对话,将所有内容都传送到屏幕上吗?(希望这个问题不要太讨论)谢谢

0 投票
1 回答
2345 浏览

python - 基于 pygame 构建的引擎

我目前正在为 pygame 编写 RTS,并在 pygame 之上为常见的事情编写了许多模块,例如高效的碰撞检测、状态系统和更多特色精灵。现在在编写游戏时,除了 Rect 和 Surface,我几乎没有编写任何对 Pygame 本身的调用。

在谷歌上搜索时,我没有发现任何似乎实际上取代了 pygame 的大部分游戏设计。所以,我想知道是否有其他人使用过任何基于 pygame 构建的引擎并发现它很好用。我还计划将游戏和引擎作为开源发布,所以我想知道其他人做了多少,以及我应该做什么或集成到我的引擎中。

0 投票
2 回答
3264 浏览

python - 现代的,非平凡的,Pygame 教程?

有哪些“好的”、非平凡的 Pygame 教程?

我意识到好的是相对的。举个例子,一个好的(对我来说)是描述如何使用pygame.camera的那个。它是

  • 最近的
  • 使用现代 PyGame (1.9)
  • 重要的是,它展示了如何将模块用于实际应用程序。

我想找其他人。Pygame 网站上的很多都是 1.3 或更早的版本!

也欢迎有关相关项目的信息,例如Gloss 。

(如果您的答案是“阅读一些 pygame 游戏的源代码”,请链接到特定游戏的源代码并注意它们的优点)

0 投票
4 回答
1407 浏览

python - 冒险游戏——在房间里走来走去

我正在使用 Pygame 在 Python 中开发一款冒险游戏。我的主要问题是我将如何定义房间的边界并让主角四处走动而不会每次都碰到边界。可悲的是,我从未研究过算法,所以我不知道如何计算路径。我知道这个问题很笼统,很难回答,但非常感谢您指出正确的方向。谢谢!

0 投票
4 回答
23022 浏览

python - 如何在 Pygame 中将具有一定透明度的 PNG 粘贴到表面上?

我正在尝试将 PNG 图像粘贴到表面上,但图像的透明部分由于某种原因变成黑色,这是简单的代码:

我该怎么做才能解决问题?该图像具有 Alpha 透明度,我已在 PhotoShop 中打开它,背景变为透明,而不是黑色或白色或任何其他颜色。

谢谢您的支持 :)

0 投票
11 回答
22433 浏览

python - 有什么方法可以“清除”表面吗?

有什么办法可以清除表面上的任何东西?

0 投票
1 回答
242 浏览

pygame - pygame中的步行周期和计时

我有一个 pygame.Timer 在我的游戏中运行,每秒 32 次调用绘图函数。绘图方法从我屏幕上的所有元素中获取位置并相应地对它们进行 blits。但是,我希望主角走得比其他物体移动得慢。

我应该专门为它设置一个计时器,还是应该只对相同的帧进行多次blit?有没有更好的方法呢?朝着正确的方向前进会很棒:)

(如果有人感兴趣,这里是当前控制将哪些帧发送到绘图的代码:http: //github.com/kallepersson/subterranean-ng/blob/master/Player.py#L88

0 投票
3 回答
917 浏览

python - Python、Pygame、Pyro:如何通过网络发送表面?

我正在使用 pygame 和 pyro 在 python 中开发一个项目。我可以轻松地发送数据、函数、类等。但是,我无法通过电线发送表面而不会在运输过程中死在我身上。

def __init__服务器在通过网络访问的类中创建一个表面:

在服务器上,屏幕打印为Surface(800x800x32 SW),但当客户端检索时它是Surface(Dead Display).

不过有一点需要注意。当我使用访问器函数获取我的屏幕时,我得到了一个死屏。如果我print Player.screen用来获取变量,我会得到似乎是指向屏幕的 pyro 指针:<Pyro.core._RemoteMethod instance at 0x02B7B7B0>. 也许我可以取消引用这个?

我很可能很厚,有没有人有一些见识?谢谢。:)

0 投票
1 回答
390 浏览

python - 将 Gnash 嵌入到 PyGame 中?

有没有办法在 PyGame 应用程序中使用 Gnash 渲染器(我不反对 Adob​​e 的渲染器但不想使用它)来显示 Flash 应用程序?

0 投票
1 回答
1262 浏览

python - 将程序*和*动态加载的文件打包成单个可执行文件?(python + pygame,或与语言无关)

关于制作独立可执行文件的问题有很多很好的答案,但我不知道如何将艺术资产(或动态加载的文件)打包到其中。我为什么要这样做?因为分发一个完全存在于一个没有安装程序的单个可执行文件中的简单(丢弃)游戏会很棒。

据我从搜索中可以看出,有两种基本方法。

1) 避免使用有利于内容生成的艺术资产。我可以有一个程序,将一个简单的精灵变成一个存在于 python 脚本中的 RLE 像素颜色列表。由于它是一个脚本,它会通过打包工具绑定到 exe 中。对?

2)使用某种自解压存档,可以将目录结构转储到临时目录(或者可能转储到内存中?),然后自动运行程序的入口点。

我想做的事情有意义吗?第二种选择似乎更加明智,但我不确定使用 python 和 pygame 可以使用哪些工具来完成它。我用过py2exe,但它只打包了python脚本和导入的模块。

编辑:

该线程使我认为您可以告诉打包实用程序将程序数据与依赖项一起包含在内。真的吗?