sprite colorkey alpha

This commit is contained in:
Frank DeMarco 2013-05-30 20:55:40 +09:00
parent e486f0ea70
commit 6340c4c009
1 changed files with 16 additions and 3 deletions

View File

@ -1,7 +1,7 @@
from os import listdir
from os.path import isfile, join
from pygame import Color, Rect
from pygame import Color, Rect, Surface
from pygame.image import load
from pygame.transform import flip
from pygame.locals import *
@ -23,7 +23,7 @@ class Sprite(Animation):
def set_framerate(self, framerate):
self.register(self.shift_frame, interval=framerate)
def load_from_path(self, path, transparency=False):
def load_from_path(self, path, transparency=False, ppa=True, key=None):
if isfile(path):
paths = [path]
else:
@ -31,11 +31,24 @@ class Sprite(Animation):
for path in paths:
img = load(path)
if transparency:
frame = img.convert_alpha()
if ppa:
frame = img.convert_alpha()
else:
if not key:
key = (255, 0, 255)
frame = self.fill_colorkey(img, key)
else:
frame = img.convert()
self.add_frame(frame)
def fill_colorkey(self, img, key):
img = img.convert_alpha()
frame = Surface(img.get_size())
frame.fill(key)
frame.set_colorkey(key)
frame.blit(img, (0, 0))
return frame
def add_frame(self, frame):
self.frames.append(frame)
self.measure_rect()