我正在使用一个精灵表动画我的球员,动画工作得很好,但没有阿尔法当我blit在屏幕上的动画相应的图像。你知道吗
Class Animation:
def __init__(self, path, img_size):
self.images = pyagme.image.load(path).convert_alpha()
self.cur_img = 0
....
def get_image(self):
img=pygame.Surface((self.img_width,self.img_height)).convert_alpha()
rect = pygame.Rect((self.cur_img * self.img_width, 0),(self.img_width, self.img_height))
img.blit(self.images, (0, 0), rect)
return img
我正在使用get_image
函数来绘制播放器:
每次更新时:self.image = self.cur_anim.get_image()
。self
是Player类。你知道吗
在我的函数中draw
:self.screen.blit(self.player.image, self.player.rect)
新的
Surface
从来都不是透明的,所以你必须用RGBA
颜色填充它,这个颜色有A=0
使它透明。你知道吗但是有pygame.Surface.subsurface可以创建子映像(并且不使用新内存)
顺便说一句:您可以在
__init__
中创建所有子曲面,以后只能使用相关问题 更多 >
编程相关推荐