sprite colorkey alpha
This commit is contained in:
parent
e486f0ea70
commit
6340c4c009
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue