问题标签 [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 回答
149 浏览

python - 带有 Python 绑定的 C 库,两者都想渲染

我正在用 Python 画一些流体动力学。过了一会儿,我正在寻找更快的速度,所以我用 C 重写了实际的逻辑并建立了一些 Python 绑定(使用SWIG)。

我现在的问题是我没有如何以一种好的方式渲染它。逻辑是逐像素运行的,所以我想要跟踪和渲染像素。

如果我尝试在接受 a 的 C 库中创建一个函数,Python 会给我一个TypeErrorSDL_Surface*,我可能有点天真地认为 PyGame 很容易将它直接映射到 SDL。如果我让 C 库“init”返回一个SDL_Surface*.

有什么好方法可以做到这一点?如果我只渲染 C lib 中的所有内容,那将不是问题。但我想在那里放一些 GUI(使用 Python)。C 库已经跟踪哪些像素是“脏的”。我是否应该公开该列表并让 Python 循环遍历它,为每个脏像素调用一个函数?看起来很糟糕,因为这些巨大的循环正是我想用 C 重写部分应用程序的确切原因。

在任何人建议之前,boost.python现在安装起来有点重(因为我在 Windows 上),所以我暂时只使用 SWIG(除非有人有聪明的方法来安装“just” boost 。Python?)。

我希望这里有一颗灵丹妙药。如何制作 C 库、运行 SDL、与 Python 共享渲染目标、运行 PyGame?

0 投票
2 回答
7288 浏览

python - 贝塞尔曲线与线段的交点

我正在用 Python(使用 pygame)编写一个游戏,它要求我为每个新游戏生成随机但漂亮的“海”。经过长时间的搜索,我确定了一种涉及贝塞尔曲线的算法,如padlib.py中定义的那样。我现在需要弄清楚 padlib 生成的曲线何时与线段相交。

蛮力方法是仅使用 padlib 生成的一组近似线段来找到答案。但是,我怀疑可以通过分析找到更好的答案。我只有几十条样条线段 - 搜索它们应该比数千条线段更快。

一点点搜索让我走上了这条路:Bezier Curve -> Kochanek-Bartels Spline -> Cubic Hermite spline

在最后一页,我发现了这个功能:

p (t) = h 00 (t) p 0 + h 10 (t) m 0 + h 01 (t) p 1 + h 11 (t) m 1

其中p (t) 实际上是一个点(二维向量),h ij (t) 函数是三次多项式,p 0p 1m 0m 1是我可以从 padlib 代码中获得的点。

现在,我可以看到我的问题的解决方案是p (t) = u + v * t 1,其中uv是我的线段的结尾。

但是,制定分析解决方案超出了我的范围。这里有人知道现有的解决方案吗?或者可以帮助我解决方程?

0 投票
2 回答
905 浏览

python - 如何嵌入,将 .swf 加载到 Pygame 中?

如何在 Pygame 中加载 .swf(flash) 文件?

0 投票
1 回答
493 浏览

python - Pygame精灵变换与插值

我目前正在开发一个 Python/Pygame 模块来包装一些基本的精灵动画。动画在某种意义上说图像本身是静态的,但我使用正弦波插值的起始值和结束值应用旋转缩放。也就是说,精灵变换就像可以在 Flash 中制作的那样。希望您能理解,否则请随时询问,我会尽力澄清。

我找不到一个已经这样做的模块。有人知道吗?会为我节省一些工作。:)

编辑:哦,如果这种带有插值的变换有一个合适的名称,我很想听听。可能会使我的搜索结果更好。

0 投票
2 回答
3660 浏览

python - Pygame:Blitting 移动的背景会造成过多的模糊

我想做的是创建一个视口来查看背景的一小部分。(后来把精灵放进去)。

然而,我注意到的问题是当它开始移动时似乎存在背景模糊的问题。我不确定这是因为 blitting 很慢还是因为代码中的问题。我正在寻找其他人如何使用 blit 或创建滚动背景的示例,并找到了这篇文章:滚动游戏

我使用了他们的简单示例,当您滚动时,果然背景看起来很模糊(也就是用偏移量来模糊背景)。我还认为可能是由于某种原因导致 FPS 下降,但它根本没有偏离。我不记得其他 2D 游戏有这样的问题。我知道由于它不断变化,可能会有一些运动模糊。只是想知道我是否可以做些什么来缓解这种情况。有人可以插话我可能遗漏的任何东西吗?我将不胜感激任何反馈或帮助。谢谢

0 投票
3 回答
5575 浏览

python - Pygame 中的关卡设计

嘿——我正在尝试使用 Python 的 Pygame 库设计我的第一个游戏,我想知道一般关卡设计的最佳实践是什么。我很想听听你们认为用于管理关卡的好的面向对象设计模式。另外,我对 Python 还很陌生——谢谢!

0 投票
3 回答
1444 浏览

python - 重叠部分透明的形状

如果我以部分透明的颜色在表面(带有 SRCALPHA 标志)上绘制任何形状,它会完全替换其下方的内容,而不是像您在图像编辑器中所期望的那样重叠。

如何使形状正确重叠?

0 投票
7 回答
31564 浏览

python - Windows 中的 Pygame:ImportError: DLL load failed

我刚刚安装了 PyGame 1.9.1(在现有的 python 2.6.4 上)。Python 和它的标准库可以工作,但是,python 甚至能够(正确地)找到 pygame 模块也存在问题。

为什么会这样?谷歌搜索产生了以下响应,我试图无济于事:

有人在win + pygame中解决了问题吗?

谢谢


编辑:根据要求添加更多信息:
-Windows 版本:Windows Vista(定期更新)
-使用的安装程序:Windows MSI 安装程序
-安装对象:所有用户
-文件数C:\python264\lib\site-packages\pygame

  • 动态链接库:14
  • PYD : 34
  • 年:19
  • PYC : 1
0 投票
2 回答
1565 浏览

python - 替代 pygame 资源

几个星期以来,我一直在尝试访问 pygame 网站,但我无法访问它。我怀疑它被关闭了,所以我不得不得出结论,它被封锁了,因为我在中国。我不知道为什么。无论如何,我想要 pygame 文档,但我喜欢的所有下载链接都指向 pygame.org(我什至没有开始加载,你知道这是一个政治颠覆性网站!)。谁能告诉我在不通过 pygame.org 的情况下在哪里可以获得文档和其他 pygame 资源?我真的很感激,谢谢。PS>我在windows XP上,如果重要的话。

0 投票
9 回答
25473 浏览

python - Pygame错误:显示表面退出:为什么?

谁能告诉我为什么我的应用程序退出:

pygame 错误:显示 Surface 退出。