今天演示的动画是一个五彩纸屑, 效果如下:
这个效果看起来还不错, 代码也不多.
代码思路:
- 创建 300 个正方形代表纸屑, 横坐标是覆盖屏幕宽度的随机数, 初始位置在屏幕外的上方.
- 每个纸屑都会在 xz 平面方向旋转, 同时在 y 轴下落.
- 使用LaggedStart 给每个纸屑下落的动画之间加一个微小的间隔.
需要注意的是, 在interpolate_mobject()方法中, 每次都会先将 mobject 设置成初始状态, 然后设置相对初始状态旋转的角度和下降距离.
关注公众号: 算法铁金库, 查看完整代码实现.