问题标签 [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.
python - 运行包含在字符串中的 Python 代码
我正在使用 pygame 和 box2d 编写游戏引擎,并且在角色构建器中,我希望能够编写将在 keydown 事件上执行的代码。
我的计划是在角色生成器中添加一个文本编辑器,让您编写类似于以下内容的代码:
我将文本编辑器的内容作为字符串检索,并且我希望代码在 Character 的这个方法中的一个方法中运行:
最好的方法是什么?
python - 更新 Pygame 表面的一个方面
我有一个用 python 编写的应用程序,它基本上是一个 etch-a-sketch,你用 WASD 和箭头键移动像素,它会留下痕迹。但是,我想为屏幕上的像素数量添加一个计数器。如何在不更新整个表面和 pwning 像素图的情况下更新计数器?
python - 在 python 中更新表面的一部分或透明表面
我有一个用 python 编写的应用程序,它基本上是一个 etch-a-sketch,你用 WASD 和箭头键移动像素,它会留下痕迹。但是,我想为屏幕上的像素数量添加一个计数器。如何在不更新整个表面和 pwning 像素图的情况下更新计数器?
或者,我可以制作一个除文本外完全透明的表面,以便您可以看到下面的绘图表面吗?
graphics - 如何避免在 Linux/X11 上使用 pygame 撕裂
我一直在玩 pygame(在 Debian/Lenny 上)。它似乎工作得很好,除了烦人的 blit 撕裂(全屏或窗口模式)。
我正在使用默认的 SDL X11 驱动程序。谷歌搜索表明 X11 不提供垂直同步功能(即使使用FULLSCREEN|DOUBLEBUF|HWSURFACE
标志创建的显示)是 SDL 的一个已知问题,我应该改用“dga”驱动程序。
然而,运行
引发 pygame 初始化
(尽管xdpyinfo
显示了 XFree86-DGA 扩展)。
那么:获得无撕裂垂直同步翻转的诀窍是什么?通过让这个 dga 工作或其他机制工作?
python - 游戏设计 - 处理奖金/鸭子打字 - python
我目前在我的游戏设计中面临一个设计问题,并不可怕,但它让我很困扰,所以我想问问其他人的意见:-)
我目前正在试验 pygame,我开发了一个小型太空射击游戏,现在我想处理一些奖金。
现在我有一个抽象类 Bonus 从中派生当前实现的所有奖金:一个“健康奖金”,它给玩家一些健康,一个“死亡奖金”,它把玩家的健康降低到 1。
在我的游戏循环中,这是我所做的(大致):
在我告诉玩家使用奖金之后
到目前为止一切都还好,但我想添加一个“炸弹奖励”,当玩家射击时会爆炸并杀死周围的敌人。
这个“奖金”实现了我的抽象类 Bonus 的“use(target)”方法,但我觉得在玩家的奖金列表中添加这样的奖金有点糟糕,因为它们之间不应该有任何关系!
奖金背后的概念是,这是“对某事做某事的事情”,以前是我的玩家班级的目标,但现在还不清楚......当然,而不是在检测到哪些奖金在哪里之后调用 player.useBonuses()拍摄我可以测试类型(使用 isinstance),例如奖金,但在我读过所有关于鸭子打字的讨论之后,为什么它是 pythonic 方式我想知道如何管理我的奖金问题?
感谢您阅读本文,希望你们能帮助我!
问候
python - 渲染轮廓字体的好方法是什么?
我正在用 pygame 在 python 中编写游戏,需要将文本渲染到屏幕上。
我想用带有轮廓的一种颜色渲染此文本,这样我就不必担心文本显示在哪种背景上。
pygame.font 似乎不支持直接做这种事情,我想知道是否有人有任何好的解决方案来实现这一点?
python - 用python模拟处理?
我正在寻找一个类似于处理的基本程序动画框架,除了在 python 中。也就是说,允许像素操作的东西,具有基本的绘图/颜色基元,并且面向动画。pygame 几乎是最好的选择还是有其他选择?
python - 创建棋盘游戏模拟器(Python?)(Pygame?)
我决定开始编写我最喜欢的一个旧程序。我以前从未做过游戏,也从未用 Python 做过大型项目。
该游戏是旧的阿瓦隆山游戏俄罗斯战役
我一直在玩 PyGame 并且想知道是否有理由不尝试使用 PyGame 来做这件事并追求其他一些引擎/语言。
使用 Pygame 构建它有什么缺点?
我并不担心人工智能,主要是我只想让游戏的最少两个玩家版本启动并运行。奖金将是保存游戏状态以及通过网络进行游戏的能力。
非常感谢启动这个项目的注意事项。
python - Pygame 和 blitting:白底白字 = 灰色?
我正在使用 pygame(1.9.0rc3,虽然这也发生在 1.8.1)来创建热图。为了构建热图,我使用了一个小的 24 位 11x11px 点 PNG 图像,具有白色背景和一个非常低不透明度的灰色点,它正好停在边缘:
点图 http://img442.imageshack.us/img442/465/dot.png
点周围的区域是完美的白色,#ffffff,应该是这样。但是,当我使用 pygame 使用 BLEND_MULT 多次将图像blit 到新表面时,会出现一个灰色方块,好像点背景不是完美的白色,这没有意义。
以下代码以及包含的图像可以重现这一点:
运行代码时,您将获得以下图像:
混合后生成的图像 http://img263.imageshack.us/img263/4568/result.png
发生这种情况有原因吗?我该如何解决它?
python - PyOpenGL + Pygame 在全屏模式下限制为 60 FPS
我目前正在开发一个用 pygame 编写的游戏引擎,我想添加 OpenGL 支持。
我写了一个测试,看看如何让 pygame 和 OpenGL 一起工作,当它在窗口模式下运行时,它的运行速度在 150 到 200 fps 之间。当我全屏运行它时(我所做的只是在设置窗口时添加 FULLSCREEN 标志),它下降到 60 fps。我添加了更多绘图功能,看看它是否只是性能大幅下降,但它始终以 60 fps 运行。
我需要做一些额外的事情来告诉 OpenGL 它正在全屏运行还是这是 OpenGL 的限制?
(我在 Windows XP 中运行)