小编Jay*_*yce的帖子

Pygame 中可以改变精灵颜色吗?

我正在使用 Pygame 在 Python 中制作一个游戏,其中在游戏开始前包括一个小型头像制作器,但不是创建一个包含 88 种不同发型和颜色组合的大精灵表,有没有一种方法可以让我只使用通用的 .每个发型的 png 图像并在游戏中为其应用颜色?

发型保存为具有 Alpha 和抗锯齿功能的 .png 图像,因此它们不仅仅是一种颜色。我有 8 种不同的发型和 11 种不同的颜色。将它们作为精灵表加载并在游戏中剪辑它们不会有问题,但如果有一种方法可以在游戏中应用颜色(或色调),那么不仅会更容易记忆,而且会更容易。将为它带来更多的可能性。

发型

python pygame colors sprite python-3.x

7
推荐指数
1
解决办法
7676
查看次数

AttributeError: 'module' 对象没有属性 'audio_fadein'

我使用 cx_freeze 将 python 项目构建到一个带有 .exe 及其依赖项的文件夹中,但是当我运行 .exe 时出现错误:

AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'
Run Code Online (Sandbox Code Playgroud)

属性错误

我已阅读 MoviePy 的文档,但无法找出发生这种情况的原因。我的 Python 程序在 IDE (PyCharm) 中完美运行,但在编译后,我收到 MoviePy 错误。我使用了推荐的from moviepy.editor import *

我实际上并没有audio_fadein直接在我的脚本中使用 ,所以当我显示我的视频时它必须被 MoviePy 调用。这是代码:

def cherrybyte():
    pygame.display.set_caption('©2017 CherryByte™ Software')
    pygame.mouse.set_visible(False)
    logo = VideoFileClip('CherryByte Logo.mp4')
    logo.preview()
    pygame.mouse.set_visible(True)
Run Code Online (Sandbox Code Playgroud)

编辑:我现在也尝试将导入语句更改为from moviepy.editor import VideoFileClip但完全相同的错误。

python cx-freeze moviepy

4
推荐指数
2
解决办法
2581
查看次数

如何获取 Pygame 缩放表面上的鼠标位置?

我正在制作的游戏将所有内容传输到 pygame.surface 上,然后将其缩放到用户显示器的大小,保持纵横比,然后将表面传输到主屏幕。我现在遇到的问题是,当我查询鼠标位置时(因为我想对某些精灵执行悬停效果),它与精灵所在的位置相距甚远,但 x 和 y 与精灵的坐标相匹配。这是因为我缩放了表面吗?如果是这样,是否有内置的 Pygame 方法用于将鼠标分配到不同的表面?或者我必须编写一个算法来转换坐标?

pygame python-3.x pygame-surface

3
推荐指数
1
解决办法
2251
查看次数