Найти - Пользователи
Полная версия: Pygame-прозрачность
Начало » Python для новичков » Pygame-прозрачность
1
Enchantner
Гружу несколько спрайтов одним и тем же кодом:

def load_image(name, colorkey=None):
fullname = os.path.join('data', name)
try:
image = pygame.image.load(fullname)
except pygame.error, message:
print "Cannot load image:", name
raise SystemExit, message
image = image.convert()
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()
Собственно прозрачность определяет цвет из верхнего правого уголка, как видно. Все они - объекты одного и того же класса:
class Animal(pygame.sprite.Sprite):
def __init__(self, img, cX, cY, addx, addy):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_image(img, -1)
screen = pygame.display.get_surface()
self.area = screen.get_rect()
self.rect.topleft = (cX-1)*50+addx, (cY-1)*50+addy
screen.blit(self.image, self.rect)
Прикол в том, что из четырех картинок с АБСОЛЮТНО одинаковой структурой (BMP, 8bit) две почему-то остаются с непрозрачным фоном.
Примеры картинок вот:

Тигр грузится нормально, у медведя фон остается непрозрачным.
Enchantner
Все, разобрался, зря создал :) Не все графические редакторы одинаково полезны…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB