我的自定义图像导入模块(图像动画)出现Python / pygame错误?

马普斯珀

我创建了一个用于导入图像的自定义模块,并能够对其进行调整并轻松设置其动画效果(基本上,您说的是具有动画的帧,并将图像分割成您说的数量)。

(我知道它们并不完美!)

这是模块“ load.py”

#IMPORT MODULES
try:
    import pygame; pygame.init()
    import os
except: pass

#------------------------------------------------------------------------------

#DEFAULT VALUES    
Image_Frames = 1
Image_Size = (0,0)

#------------------------------------------------------------------------------

def image(name,frames=Image_Frames,size=Image_Size):

    #Load Image
    try:
        img = pygame.image.load(name).convert_alpha()
    except: return None

    #Single / Multi Frame
    if frames <= 1:
        if not 0 in size: img = pygame.transform.scale(img,size)
        return img
    else:

        #Set Variables
        frame_y = 0
        frames_list = []
        frame_height = int(img.get_size()[1] / frames)

        #Loop Frames
        for frame in range(frames):

            #Create a Surface and blit part of the image (Single Frame)
            frame_surface = pygame.Surface((img.get_size()[0], frame_height),pygame.SRCALPHA)
            frame_surface.blit(img,(0,0),(0,frame_y,img.get_size()[0],frame_height))

            #If both values of size are not 0 scale it to size
            if not 0 in size: img = pygame.transform.scale(frame_surface,size)

            #Add it to list of Frames and prepare for next
            frames_list.append(frame_surface)
            frame_y += frame_height

        #Return Frames
        return frames_list

主要代码(不是完美的,仅是为了查看图像):

import pygame; pygame.init()
Screen = pygame.display.set_mode((800,800))

import load

images = load.image("test.png",2,(400,300))

while True:
    Screen.fill((255,0,255))

    Screen.blit(images[0],(0,0))
    Screen.blit(images[1],(0,400))

    pygame.display.update()

这是我使用的图像(对不起,我无法显示图像... :()https://www.dropbox.com/s/u7nghxntor2vbt1/test.png?dl=0

这就是问题所在。假设发生的情况是将图像分成2个,每个图像放大到400,300。

但这会在我运行代码时发生:https : //www.dropbox.com/s/idrsygynftb1oua/Sin%20t%C3%ADtulo.png?dl=0

第一个没有缩放,第二个使某些事情变得奇怪...但是,只有当您执行1个以上“帧”时,才会发生这种情况。

如果将其更改为仅处理一张图像,则可以正常工作(main.py的代码示例)

import pygame; pygame.init()
Screen = pygame.display.set_mode((800,800))

import load

images = load.image("test.png",1,(400,300))

while True:
    Screen.fill((255,0,255))

    Screen.blit(images,(0,0))

    pygame.display.update()

可以解决吗?问任何问题,如果您需要我的更多信息。

马普斯珀

居然修好了!

您的代码:

#If both values of size are not 0 scale it to size
if not 0 in size: 
    >> img << = pygame.transform.scale(frame_surface,size)

应该:

#If both values of size are not 0 scale it to size
if not 0 in size:
    >> frame_surface << = pygame.transform.scale(frame_surface,size)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

pygame导入错误与imageext

退出 pygame 窗口后出现 pygame 错误

当我想向图像组件添加自定义样式时,为什么会出现此 ts 错误?

python pygame int对象错误

转换Pygame图像给出错误

在Pygame中单击堆叠图像的错误

从Pygame中的图像绘制精灵,内部错误

尝试在 Wordpress 中显示自定义文件夹中的图像时出现 404 错误

使用Xception CNN训练自定义图像时出现奇怪的错误

使用自定义框架时出现“找不到图像”错误

尝试在自定义模型上显示图像时出现 Yolov4 错误

自定义模块导入错误仅在部署期间

如何修复我在 pygame 中错误的图像加载

在 python3 版本上使用自定义模块导入错误

导入自定义字体时出现抖动错误

运行示例游戏时,pygame导入错误

错误:模块“ pygame”没有“ init”成员

React Native-使用我制作的自定义组件时出现错误(错误:undefined无法解析模块<MyModule>)

pygame中定义的变量抛出错误

自定义ArrayAdapter被过滤后显示错误的图像

使用自定义相机捕获的图像方向错误

导入错误:Ubuntu 上没有名为“pygame”的模块

Python 3.6.2、Pygame 1.9.3 中的纠正错误

如何修复python pygame中的属性错误?

我的自定义提供程序出现错误“由于未知的提供程序而无法实例化模块应用程序”

Pygame 已安装,但我有一个“导入错误:没有名为“pygame”的模块

VS Code pylint(导入错误)“无法导入”来自自定义目录的子子模块

如何在导入pygame期间解决我的错误

自定义模块上的 Python 2.7 属性错误