问题标签 [pygame-surface]

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 回答
1117 浏览

python - 如何使用 Python 多处理为 pygame 准备图像

我正在制作一个带有非常顽皮的平移和缩放效果的幻灯片应用程序。我正在使用pygame。

因此,主显示器是实时 30fps+,我不希望它在加载新图像时出现卡顿——这需要超过 1/30 秒。

所以我想使用一些并行的过程来准备图像并用这些对象提供主进程,这些对象是一个类的实例。

我尝试过线程和多进程。线程“工作”,但它仍然跳动(我责怪python) - 当线程忙时,整个事情都会变慢!所以代码运行了,但它没有达到允许持续平滑显示的目标。

但是,一旦我对从主进程接收到的准备好的图像调用方法,进程就会出现段错误。(pygame parachute)我已经尝试过管道和队列通信——两者都会导致同样的问题。该方法一直运行直到它调用

然后是段错误。此类与主进程没有任何依赖关系。

pygame 不喜欢多处理吗?还有其他兼容的方式吗?有没有办法“很好”的辅助线程可能会停止线程方法的执行?

非常感谢任何帮助。很高兴发布更多代码,只是在评论中询问,但除非需要,否则不想在这里倾倒一个大列表。

提前致谢!

编辑

这是我能做到的尽可能短的。您需要在底部的构造函数中提供三个 jpeg 文件的路径

当我运行这个(Python 2.7.6)时,我得到:

0 投票
1 回答
84 浏览

python - Pygame 更新没有重叠的关卡

在 Pygame 库中,我正在尝试编写游戏。在游戏中,如果您与目标矩形相撞,您将进入一个新的关卡。一切正常,但是当您与目标矩形发生碰撞时,它会在旧关卡之上绘制新关卡。我希望它清除屏幕,然后绘制关卡。我该怎么做?这是我的代码:

0 投票
3 回答
6469 浏览

python - 如何在 Pygame 中加载动画 GIF 并获取所有单独的帧?

首先,对不起,如果这是重复的。我找到的答案似乎无关紧要,但也许我正在使用错误的关键字进行搜索。我想做的是获取动画 GIF 并将其拆分为帧列表。基本上,是这样的:

其中 split_animated_gif 按顺序返回一个表面列表,每个表面都是 GIF 的一个帧。感谢您的帮助。

编辑:经过一番窥探后,我找到了一段代码,它成功地在 pygame 中为我显示了一个动画 GIF。它可以在https://github.com/piantado/kelpy/blob/master/kelpy/GIFImage.py找到。不过,非常感谢您的帮助。

0 投票
4 回答
79780 浏览

python - 如何检测pygame中的碰撞?

我使用下面的类制作了一个子弹列表和一个精灵列表。如何检测子弹是否与精灵碰撞,然后删除该精灵和子弹?

0 投票
1 回答
8398 浏览

python - 如何在pygame中将图像粘贴到与矩形大小相同的表面

我正在用 pygame 制作游戏,每个 Sprite 都有一个矩形和一个图像。我如何将此图像粘贴到表面上,使其与矩形大小相同?

还有为什么最后一个是pygame.display.flip()必要的?

0 投票
1 回答
404 浏览

pygame - 如何在pygame中将精灵放在其他精灵后面?

我想在屏幕上放一个精灵,但我想把它放在其他精灵后面的后面层,这样当它们相互经过时它就不会遮盖这些精灵。我该怎么做呢?

0 投票
1 回答
603 浏览

python - 在pygame中慢慢转动一个矩形

我有一些代码:

我应该如何修改此代码以根据鼠标角度(10度/秒等)缓慢转动矩形?

编辑:我想旋转CLASS对象(基于 pygame.sprite.Sprite 类)

0 投票
1 回答
2580 浏览

python - 如何在 PyGame 中的图像上显示图像?

我正在使用 PyGame 库在 Python 3 中创建 Pong 版本。我正在尝试将图像渲染为“表格”背景,然后在其顶部显示球。我的问题是球是唯一显示的图像,显​​示黑色背景。但是,如果我删除与球有关的代码,则会显示“表格”图像。我怎样才能把球放在桌子上?

0 投票
1 回答
856 浏览

python - 如何获取动态圆的rect()

我试图在 draw 方法中获取圆的矩形,但 Pygame 每次在我的 Alien 实例上调用 get_rect() 方法时都会出错。我想要一个用于碰撞检测的动态圆表面,因为我的代码会生成不同的随机大小的圆。请任何帮助将不胜感激

我想从 draw 方法中得到这个圆的矩形,但它没有 rect 方法。我在网上查了一下,我看到你可以使用 pygame.surface 但我不知道如何使用它来为我的圆圈生成一个表面,考虑到当我生成 20 个不同的外星人圆圈对象时,它们会

0 投票
1 回答
188 浏览

python - 多处理队列:pygame表面死亡

我想使用多处理来分离 pygame 中的两个任务:从网络摄像头中提取图像并在屏幕上显示图像。我想这样做的原因是因为

  • 我想要花哨的图像处理
  • 我想将网络摄像头轮询与屏幕和用户输入分开

并希望将两者的时间延迟分开,理想情况下优化负载。使用线程我没有问题将图像从一个线程发送到另一个线程。但是,我得到一个滞后的图像。我想测试使用多处理是否可以减少图像的延迟。

这是障碍:将图像从相机进程发送到屏幕进程后出现错误。使用从队列中拉出图像后

我检查图像的大小

如前所述,使用线程可以返回正确的图像宽度。但是使用多处理我得到以下错误

所以看起来图像在队列中丢失了?我试图阅读这个,并且在通过队列传输较大的对象时似乎存在问题。这个对吗?我将如何规避或解决这个问题?