mirror of
https://github.com/3b1b/manim.git
synced 2025-08-01 08:54:38 +08:00
Fixed bug where nested AnimationGroups did not propagate configs correctly
This commit is contained in:
@ -491,16 +491,14 @@ class AnimationGroup(Animation):
|
|||||||
"rate_func" : None
|
"rate_func" : None
|
||||||
}
|
}
|
||||||
def __init__(self, *sub_anims, **kwargs):
|
def __init__(self, *sub_anims, **kwargs):
|
||||||
digest_config(self, kwargs, locals())
|
|
||||||
sub_anims = filter (lambda x : not(x.empty), sub_anims)
|
sub_anims = filter (lambda x : not(x.empty), sub_anims)
|
||||||
|
digest_config(self, locals())
|
||||||
|
self.update_config(**kwargs) # Handles propagation to self.sub_anims
|
||||||
|
|
||||||
if len(sub_anims) == 0:
|
if len(sub_anims) == 0:
|
||||||
self.empty = True
|
self.empty = True
|
||||||
self.run_time = 0
|
self.run_time = 0
|
||||||
else:
|
else:
|
||||||
for anim in sub_anims:
|
|
||||||
# If AnimationGroup is called with any configuration,
|
|
||||||
# it is propagated to the sub_animations
|
|
||||||
anim.update_config(**kwargs)
|
|
||||||
self.run_time = max([a.run_time for a in sub_anims])
|
self.run_time = max([a.run_time for a in sub_anims])
|
||||||
everything = Mobject(*[a.mobject for a in sub_anims])
|
everything = Mobject(*[a.mobject for a in sub_anims])
|
||||||
Animation.__init__(self, everything, **kwargs)
|
Animation.__init__(self, everything, **kwargs)
|
||||||
@ -513,6 +511,14 @@ class AnimationGroup(Animation):
|
|||||||
for anim in self.sub_anims:
|
for anim in self.sub_anims:
|
||||||
anim.clean_up(*args, **kwargs)
|
anim.clean_up(*args, **kwargs)
|
||||||
|
|
||||||
|
def update_config(self, **kwargs):
|
||||||
|
Animation.update_config(self, **kwargs)
|
||||||
|
|
||||||
|
# If AnimationGroup is called with any configuration,
|
||||||
|
# it is propagated to the sub_animations
|
||||||
|
for anim in self.sub_anims:
|
||||||
|
anim.update_config(**kwargs)
|
||||||
|
|
||||||
class EmptyAnimation(Animation):
|
class EmptyAnimation(Animation):
|
||||||
CONFIG = {
|
CONFIG = {
|
||||||
"run_time" : 0,
|
"run_time" : 0,
|
||||||
|
Reference in New Issue
Block a user