如何使用manim播放非场景类中的动画?

2024-09-28 03:12:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着做一个神经网络动画,我在网上找到了一门课,我根据自己的需要修改了它。基本上,该类看起来像:

class NeuralNetworkMobject(VGroup):
    ...
    ...
    def change_edge_color(...):
        edge = random.choice(n1.edges_out) # n1.edges_out is a VGroup, and edge is Line 
        # I want to play the edge fade in animation from this method.
        # I've tried to do:
        NeuralNetworkScene.play(FadeIn(edge)) # NeuralNetworkScene is the actual scene

但是,程序给出了一个错误,说:

  File "neural.py", line 171, in set_neuron_edge_color
    NeuralScene.play(FadeIn(n_edge))
  File "/usr/local/lib/python3.9/site-packages/manimlib/scene/scene.py", line 845, in wrapper
    self.update_skipping_status()
  AttributeError: 'FadeIn' object has no attribute 'update_skipping_status'

如何在非场景类中播放动画

谢谢


Tags: thetoinplayis动画sceneout
1条回答
网友
1楼 · 发布于 2024-09-28 03:12:12

所以我尝试了我能做的一切,包括实例化主场景,然后尝试播放动画(你显然不应该这么做),直接访问scene.play()方法(也不起作用)。因此,我提出了一个解决方案:

class MainScene(Scene):
    def construct(self):
        ...
        neurons = NeuralNetworkMobject()
        your_animation_function(neurons)

    def your_animation_function(self, neurons):
        self.play(FadeIn(neurons))
        ...

虽然这种方法确实解决了这个问题,但出于好奇,我想问的是,是否可以从非场景类播放动画

谢谢

相关问题 更多 >

    热门问题