sprite areas member var

This commit is contained in:
Frank DeMarco 2020-05-24 01:37:03 -04:00
parent 19d224fdc1
commit 823149738b
3 changed files with 13 additions and 5 deletions

View File

@ -107,8 +107,9 @@ class Audio(Animation):
return True
return False
def play_sfx(self, name):
self.sfx[name].play()
def play_sfx(self, name, loops=None, maxtime=None, fade_ms=None, position=None,
x=None):
self.sfx[name].play(loops, maxtime, fade_ms, position, x)
#
# Loading BGM procedure

View File

@ -31,10 +31,12 @@ class Sprite(Animation):
self.display_surface = self.get_display_surface()
self.wipe_blinds = []
self.current_wipe_index = 0
self.register(self.toggle_hidden, self.wipe_out)
self.areas = None
self.register(self.toggle_hidden, self.wipe_out, self.set_frameset)
def reset(self):
self.halt(self.wipe_out)
self.halt(self.set_frameset)
self.current_wipe_index = 0
def __getattr__(self, name):
@ -264,6 +266,9 @@ class Sprite(Animation):
def get_current_blinds(self):
return self.wipe_blinds[self.current_wipe_index]
def set_areas(self, areas):
self.areas = areas
def update(self, areas=None, substitute=None, flags=0):
Animation.update(self)
if self.is_stepping():
@ -271,6 +276,8 @@ class Sprite(Animation):
if self.get_current_frameset().length():
if self.is_playing(self.wipe_out):
areas = self.get_current_blinds()
elif not areas and self.areas:
areas = self.areas
self.draw(areas, substitute, flags)
for child in self.children.values():
if self.draw_children_on_frame:

View File

@ -27,9 +27,9 @@ def get_step_relative(start, end, step):
def get_segments(start, end, count):
rel_step = get_step_relative(start, end, 1 / float(count))
segs = [[start]]
segs = [[Vector(start[0], start[1])]]
for ii in range(count):
seg_end = segs[-1][0][0] + rel_step[0], segs[-1][0][1] + rel_step[1]
seg_end = Vector(segs[-1][0].x + rel_step.x, segs[-1][0].y + rel_step.y)
segs[-1].append(seg_end)
if ii < count - 1:
segs.append([seg_end])