I can scale a Square mobject as follows with
self.play()
/Scene.play()
:square = Square(fill_color=RED, fill_opacity=1) self.play(square.animate.scale(3)) self.wait(3)
But I cannot achieve the
scale
behaviour as above using this simpleadd_updater
method. All I get is a blank screen:square = Square(fill_color=RED, fill_opacity=1) def scale_up(mob, dt): mob.scale(2*dt) square.add_updater(scale_up) self.add(square) self.wait(3)
Questions
How can I achieve the behaviour of No 1 above with
add_updater
, or other updater techniques?I know that I can successfully animate an item with updater methods - such as doing
mobject.shift()
- even without usingself.play()
/Scene.play()
. Can the behaviour of No. 1 above be achieved without using theScene.play()
method?It appears that you can
.scale()
an object with scene updaters, instead of Mobject updaters. Why?