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

python - 为背景设置恒定的半透明度

我正在尝试为我的游戏添加背景图像,并且我需要它具有一定的不透明度。我使用了set_alpha()表面的方法来控制它的半透明度。但是,这会产生淡入效果,初始背景在设置的不透明度下最终会变为全亮度。有什么办法可以将背景的半透明度设置为恒定值?

我的代码是

关于如何做到这一点的任何提示?

0 投票
2 回答
1559 浏览

python - TypeError:必须是 pygame.Surface,而不是 None

我正在使用相机,使用 pygame,我编写了以下代码:

但它返回给我这个错误:

0 投票
2 回答
3111 浏览

python - pygame,调整大小时如何更新窗口大小

我有一个带有 pygame 可调整大小窗口的程序。

由于它是可调整大小的,我希望屏幕上的某些元素根据窗口大小改变位置和大小。

我将所有变量都保存在函数 setGet 中。我希望通过屏幕尺寸,并让所有变量都依赖于传入的屏幕尺寸。

我有一个运行命令的循环函数

当您更改窗口大小时,get_size() 显然不会更新。

调整窗口大小时如何更新屏幕大小?

0 投票
1 回答
273 浏览

python - 精灵在圆圈上的旋转

有一个精灵在以屏幕中心为中心的圆上移动,半径 = 30 像素。运动或多或少还可以,但精灵根本不旋转。我尝试了一些教程(例如,如何使用 rotozoom 在 pygame 中设置缩放和旋转动画),当精灵沿着一条线移动或随机改变其轨迹时 - 没有问题。那么当它沿着圆圈移动时有什么问题呢?这是代码:

我省略了我认为不必要的代码块。我确定我犯了一些愚蠢的错误。

0 投票
1 回答
607 浏览

python - Pygame表面太重

我正在创建一个具有大量高清图像的游戏,速度为 30 FPS,因此对于这种特殊情况,性能是一个大问题。我正在检查内存消耗,发现一组图像,在硬盘驱动器中有 2~3mb,当加载到游戏时,它占用了 30mb。有没有办法在不影响 CPU 使用率的情况下减少内存消耗?

0 投票
1 回答
305 浏览

python - 在pygame中创建一个透明的表面来绘制像素

我创建了一个使用像素阵列放置像素的表面,但我想让表面透明但让像素不透明,我尝试让表面透明然后将像素绘制到表面但那只是使像素也透明,任何帮助或我错过了什么?

-编辑-希望这会有所帮助,这是创建银河系表面的类对象

另外我已经说明了我尝试过的内容,没有太多要说的了

0 投票
1 回答
737 浏览

pygame - 在pygame中获取表面像素的HSV值

我在 pygame 中设置我的网络摄像头以使用 HSV 颜色空间。但是 pygame.Surface.get_at 只返回 RGB 颜色值。有没有一种方法可以读取pygame中像素的HSV值?

如果没有,在pygame中将所有像素颜色转换为HSV的推荐方法是什么?

0 投票
1 回答
167 浏览

python - 索引表面是否支持具有 alpha 值(255 除外)的调色板?

当我调用时myIndexedSurface.get_palette(),它会返回一个 32 位 RGBA 值的列表。我想因为其中包含一个 alpha 值,所以我也可以设置和使用具有透明效果的调色板索引。然后,这些表面可以比具有全深度(32 位)每像素数据的表面更有效地作为覆盖或掩码进行 blitted。

不过,到目前为止,调色板元素的 alpha 值似乎已锁定,255并且不会因我尝试过的任何方法而改变:

  • .set_palette_at(idx, (r,g,b,A))正确设置rgb,但将 alpha 值保留为 255,而不管A' 值如何。

  • .set_palette(somePalette)ValueError: takes an alpha value of 255如果任何somePaletteRGBA 元组元素的 alpha 值不是 255,则引发。

我正在尝试做的事情可能吗?每个调色板列表元素中的 alpha 值是否纯粹是装饰性的,它可能更容易被其他需要 32 位 (RGBA) 像素数据而不是 24 (RGB) 像素数据的进程使用?

我觉得 Pygame 中的索引表面可能一开始就无法处理这种程度的复杂性,但我也想不出或找到不应该这样做的原因。special_flags也许 Pygame为此目的有其神秘之处?

我尝试通过初始化 Surface 本身myIndexedSurface = pygame.Surface(surfSize).convert(8)myIndexedSurface = pygame.Surface(surfSize, flags=pygame.SRCALPHA).convert(8)但没有任何效果。

我还没有查看PILPygame 的PixelArray解决方案。

0 投票
1 回答
143 浏览

python - Pygame 的弧用作精灵

我正在尝试使用 pygame.draw.arc() 作为精灵,但它没有显示在屏幕上。我可以通过在主循环中编写相同的代码来实现相同的效果,但是一旦我尝试创建一个精灵,效果就不会显示出来。

(主循环中的一部分可以取消注释以查看所需的效果。)

任何指针都会有很大帮助。

0 投票
3 回答
9176 浏览

python - 如何在pygame中绘制透明图像?

考虑一个棋盘,我有一个透明的女王(queen.png)图像,大小为 70x70,我想将它显示在一个黑色矩形上。代码:

错误:我没有得到透明图像,即黑色矩形根本不可见,只有白色背景的女王。请建议