问题标签 [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 - 如何在 PyGame 中响应鼠标点击精灵?
使您的精灵响应 PyGame 中的鼠标点击的规范方法是什么?
在我的事件循环中,这是一些简单的事情:
关于它的一些问题:
- 这是响应鼠标点击的最佳方式吗?
- 如果鼠标在精灵上持续按下一段时间怎么办?我如何从中制作单个事件?
- 这是通知我所有精灵点击的合理方式吗?
提前致谢
python - Pygame中完全透明的窗口?
是否有可能在 Pygame 中获得一个完全透明的窗口(通过它查看桌面)?我已经找到了如何创建一个没有框架的窗口,但似乎没有任何明显的方法可以使它透明。
只要有适用于 Windows 和 Mac OS X 的解决方案,我就愿意与特定于系统的技术/框架联系起来,但我不确定要寻找哪个方向。
我能找到的唯一主题推荐使用 wxPython,这不是我可以为这个特定项目做的事情(需要是 Pygame)。
python - PyGame 在同时按下 3 个以上的键时没有接收到事件
我正在PyGame中开发一个简单的游戏......一艘火箭飞船飞来飞去并射击东西。
问题:为什么 pygame 在一次按下太多键时会停止发出键盘事件?
关于密钥处理:该程序有许多变量KEYSTATE_FIRE, KEYSTATE_TURNLEFT
,例如 等...
- 处理事件时
KEYDOWN
,它将相应的KEYSTATE_*
变量设置为 True。 - 处理事件时
KEYUP
,它将相同的变量设置为 False。
问题:
如果UP-ARROW
和LEFT-ARROW
被同时按下,pygame 在按下时不会发出KEYDOWN
事件SPACE
。此行为因键而异。按下字母时,我似乎可以在 pygame 停止KEYDOWN
为其他键发出事件之前按住其中的 5 个。
验证:在我的主循环中,我只是打印了收到的每个事件来验证上述行为。
代码:作为参考,这里是此时处理关键事件的(粗略)方式:
按此顺序:
a (down)
s (down)
d (down)
f (down)
g (down)
h (down)
j (down)
k (down)
a (up)
s (up)
d (up)
f (up)
g (up)
h (up)
j (up)
k (up)
这是输出:
<Event(2-KeyDown {'scancode': 30, 'key': 97, 'unicode': u'a', 'mod': 0})>
<Event(2-KeyDown {'scancode': 31, 'key': 115, 'unicode': u's', 'mod': 0})>
<Event(2-KeyDown {'scancode': 32, 'key': 100, 'unicode': u'd', 'mod': 0})>
<Event(2-KeyDown {'scancode': 33, 'key': 102, 'unicode': u'f', 'mod': 0})>
<Event(3-KeyUp {'scancode': 30, 'key': 97, 'mod': 0})>
<Event(3-KeyUp {'scancode': 31, 'key': 115, 'mod': 0})>
<Event(3-KeyUp {'scancode': 32, 'key': 100, 'mod': 0})>
<Event(3-KeyUp {'scancode': 33, 'key': 102, 'mod': 0})>
<Event(2-KeyDown {'scancode': 36, 'key': 106, 'unicode': u'j', 'mod': 0})>
<Event(2-KeyDown {'scancode': 37, 'key': 107, 'unicode': u'k', 'mod': 0})>
<Event(3-KeyUp {'scancode': 36, 'key': 106, 'mod': 0})>
<Event(3-KeyUp {'scancode': 37, 'key': 107, 'mod': 0})>
这是一个常见问题吗?有解决方法吗?如果不是,那么在使用 pygame 时处理多键控制问题的最佳方法是什么?
python - pygame 函数似乎被忽略了
我正在构建一个相对简单的程序来测试碰撞检测,目前一切正常,除了一件事,我试图让背景颜色随机变化,唯一的问题是它似乎完全跳过了该功能做这个;
这是ColourCheck
被忽略的功能,有什么想法吗?
pygame - pygame 中的混合模式是什么意思?
Surface.blit在 1.8 中有一个新参数:blend。定义了以下值:
BLEND_ADD
BLEND_SUB
BLEND_MULT
BLEND_MIN
BLEND_MAX
BLEND_RGBA_ADD
BLEND_RGBA_SUB
BLEND_RGBA_MULT
BLEND_RGBA_MIN
BLEND_RGBA_MAX
BLEND_RGB_ADD
BLEND_RGB_SUB
BLEND_RGB_MULT
BLEND_RGB_MIN
BLEND_RGB_MAX
有人可以解释这些模式的含义吗?
python - 用于简单纸牌游戏的 wxPython 或 pygame?
我一直在玩用 Python 编写一些简单的纸牌游戏以获得乐趣,我想为游戏添加一个图形用户界面 (GUI)。你会推荐哪个库来为一个简单的纸牌游戏编写 GUI?
python - 基于端点的旋转
我正在使用 pygame 在两个任意点之间画一条线。我还想在线的行进方向上朝外的线的末端附加箭头。
在最后粘贴箭头图像很简单,但我不知道如何计算旋转度数以保持箭头指向正确的方向。
python - PyGame中的中文unicode字体
PyGame中如何显示汉字?什么是用于此目的的好的免费/自由字体?
python - 拦截类中类中属性的变化 - Python
我一直在搞乱 pygame 和 python,我希望能够在我的类的属性发生变化时调用一个函数。我目前的解决方案是:
这很好用,当我用 更改 rect 值时会调用 dofancystuff Firsclass.rect = pygame.rect.Rect(0,0,100,100)
。但是,如果我说Firstclass.rect.bottom = 3
. __setattr__
并没有调用 dofancystuff。
所以我想我的问题是如何拦截对子类属性的任何更改?
编辑:另外,如果我以错误的方式解决这个问题,请告诉我在 python 方面我不是很了解。