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

python - 如何在pygame中添加一条线作为精灵?

我想在我的关卡中添加一个与地形而不是屏幕保持一致的网格。我想到的方法是将构成网格的所有线条添加为精灵,并随着地形移动它们,但我不知道如何将线条表示为图像。

我自己尝试过这样做,但没有成功。

编辑:这是我尝试过的

创建对象:

调用类:(在主程序循环中)

0 投票
2 回答
173 浏览

python - 如何将线条添加到曲面

由于某种原因,这些线条不会出现在屏幕上。

这是我尝试过的

创建对象:

调用类:(在主程序循环中)

0 投票
2 回答
1596 浏览

python - Pygame 3D Cube 平移、移动

我已经制作了跟随 3D 立方体,我需要制作一个平移功能来移动这个立方体,例如用键向上移动到 x 轴,立方体 y 在轴 y 上移动,并且在 z 轴上移动,我搜索找到一个翻译功能,但它在这里是 2D 的,但我的思想堆栈,我很困惑。

现在我想要跟随,我怎样才能将这个翻译功能调整到我的代码,或者有任何人知道如何移动,将我的立方体转换到下面代码的顶点3?

请有人帮助

0 投票
1 回答
783 浏览

python - 如何在 Pygame 中向精灵添加“矩形”或文本?

我正在尝试重新创建一个幻灯片拼图,我需要将文本打印到以前绘制的矩形精灵。这就是我设置它们的方式:

这就是我画它们的方式:

这就是我尝试添加 Rect 的方式(用鼠标单击它时):

isInTile:

我究竟做错了什么?

0 投票
1 回答
2156 浏览

python - 在屏幕上显示 PyGame 掩码

我正在做一些机器人视觉项目,我需要通过颜色进行一些对象识别。我目前正在为此使用口罩。到目前为止一切顺利,但现在我需要调整某些设置,我想实际看看这些更改如何影响最终结果。

我的第一个想法是,“好吧,在屏幕上打印蒙版”,所以我尝试将蒙版视为一个表面,但事实证明 PyGame 蒙版不能“blit”到屏幕表面:

我目前正在使用 PyGame.mask 操作并猜测遮罩的外观,但我认为在屏幕上显示当前遮罩会非常有用。我认为如果我可以将遮罩应用到表面并查看实际识别的内容可能会更好,但是遮罩的黑色/白色表示就足够了。我阅读了文档,但不知道如何进行。

此外,我试图显示的面具是由 pygame.mask.from_threshold

关于如何做到这一点的任何线索?

0 投票
1 回答
286 浏览

python - 在类中使用 pygame.Surface.blit

我只能给我的班级打电话一次。我的代码是:

当我在游戏循环内部或外部调用“鱼”对象时(fishes.append(fish(900, 300, fish_1, 1)) 我得到了错误:

0 投票
0 回答
199 浏览

python - python pygame blit - mixed pixels - added black rectangle

while wrtiing chess engine , i am using blit for drawing the pieces on the board. the problem is that it looks very bad , a black rectangle is created and added to the icons of the pieces . it looks like that:

http://i58.tinypic.com/n1fbzc.jpg

but i want it to look like this:

http://i62.tinypic.com/4zutfo.jpg

here is the code, the first 2 lines is example for one piece, and the rest(the "for") is for drawing all of them:

i guess that i am missing some parameter in calling to blit , or to call another function..

tahnks for your help.

0 投票
1 回答
3394 浏览

python - pygame.mouse.get_pos和Rect.collidepoint的Python表面真实位置坐标

在我的 python prog 中,我有 2 个表面:

  • ScreenSurface: 屏幕
  • FootSurface: 另一个表面被擦掉了ScreenSurface

我在 上放了一些矩形FootSurface,问题是它Rect.collidepoint()给了我链接到的相对坐标FootSurfacepygame.mouse.get_pos()给出了绝对坐标。

例如 :

pygame.mouse.get_pos()--> (177, 500) 相关主表面命名ScreenSurface

Rect.collidepoint()--> 与第二个表面FootSurface有关

那就不行了。有没有一种优雅的 python 方式来做这件事:鼠标的相对位置FootSurface或绝对位置 my Rect; 或者我必须更改我的代码以拆分RectScreenSurface.

0 投票
1 回答
49 浏览

python - 无法分类,数值会无限增加,无法移除敌人

这是我当前的代码,我已经研究了一段时间。

显然这些图像不适用于任何测试它的人,但我目前的问题是,当敌人hp低于 0 时,我不知道如何让敌人完全被移除。我试着做一个

但这只会将它从屏幕上删除,并且由于我还想添加drop,这意味着当Ai坐标发生变化时,drop item坐标也会发生变化,因为我只知道如何使drop坐标等于AI坐标,如果我希望它出现在人工智能死亡的地方。

经验值和生命值都下降得很好,但是当我尝试从怪物杀死中添加经验值时,它会以每毫秒 10 毫秒的速度无限增长,而当我试图让它maxhealth = health + endurance无限增长时,它也是同样的问题。

我真的需要帮助,我尝试将我的代码排序为多个函数,但它只会让整个事情停止工作,这几乎退出了将精灵更改为对象的选项......

0 投票
1 回答
2357 浏览

python - Pygame AttributeError 没有属性“显示”

我正在尝试通过制作基于 2D 平铺的平台游戏来学习 Python 和 Pygame。现在我被困在“基于瓷砖”的部分。这是我的代码:

当我运行代码时,它给了我这个错误:

我用谷歌搜索了很多其他属性错误,但没有关于“显示”属性的信息。我究竟做错了什么?