我有一个非常奇怪的情况,但我会尽力尽我所能解释一切。所以我用PyGame编写了一个游戏。我用moviepy在地面上播放视频。现在我正在做一个战斗屏幕,我想动画的攻击。我将快速显示屏幕截图
当点击“火球”时,我想显示一个火球。视频本身是透明的,但它用白色填充
例如,我之前用于显示剪切场景的代码如下:
video = VideoFileClip('assets/Attacks/Frantz/fireball.webm')
video.preview()
当它播放视频时,看起来如下所示:
我的初始文件是一个gif,我将其转换为mp4。我发现mp4不支持alpha/透明度,我尝试使用gif将video = VideoFileClip('assets/Attacks/Frantz/fireball.mp4')
替换为video = VideoFileClip('assets/Attacks/Frantz/fireball.gif')
但同样的事情也发生在白色背景上(是的,gif有100%的透明度)
我有点不知道该怎么办。我是否应该尝试其他文件格式,如果是,我如何删除透明度,但我认为我需要更改代码中的某些内容,以便能够实际使用gif或其他格式
这是gif的文件
我知道我的问题很奇怪,但这是一个学校项目,我非常感谢你的帮助
电影不是你想要的。你想要的是一个动画精灵。动画精灵由许多不同的精灵组成,这些精灵在连续帧中显示。这些精灵的来源可以是精灵表、动画GIF或位图列表
关于这个话题有各种各样的问题和答案。例如:
Animated sprite from few images
How can I load an animated GIF and get all of the individual frames in PyGame?
How do I create animated sprites using Sprite Sheets in Pygame?
由于GIF不是透明的,因此必须使用^{} 设置透明颜色的颜色键:
例如:
相关问题 更多 >
编程相关推荐