Motion Canvas v3.16.0
· 阅读需 2 分钟
New features 🎉

全新的
Camera节点,带有用于缩放和聚焦元素的辅助方法:
#1019Press play to preview the animationimport ...
export default makeScene2D(function* (view) {
const camera = createRef<Camera>();
const rect = createRef<Rect>();
const circle = createRef<Circle>();
const scene = (
<Node>
<Grid stroke={'#fff1'} lineWidth={1} size="100%" spacing={25}>
<Rect ref={rect} fill={'#e6a700'} size={50} position={[50, -25]} />
<Circle ref={circle} fill={'#e13238'} size={50} position={[-50, 25]} />
</Grid>
</Node>
);
view.add(
<>
<Camera.Stage
scene={scene}
x={-200}
width={300}
height={200}
stroke={'#242424'}
lineWidth={4}
/>
<Camera.Stage
cameraRef={camera}
scene={scene}
x={200}
width={300}
height={200}
stroke={'#242424'}
lineWidth={4}
/>
</>,
);
yield* all(
camera().centerOn(rect(), 3),
camera().rotation(180, 3),
camera().zoom(1.8, 3),
);
yield* camera().centerOn(circle(), 2);
yield* camera().reset(1);
});
新的 effects 可以用于对信号中的变化做出反应:
#1043import {makeScene2D} from '@wangyaoshen/locus-2d';
import {createEffect, createSignal} from '@wangyaoshen/locus-core';
export default makeScene2D(function* () {
const signal = createSignal(0);
createEffect(() => {
console.log('Signal changed: ', signal());
});
yield* signal(1, 2);
});
所有向量操作现在都可以与向量信号一起使用,以获得更简洁的代码:
#1030// Before
yield* node().position(node().position().add([200, 100]), 2);
// Now
yield* node().position.add([200, 100], 2);
Polygon.vertex()和
Polygon.vertexCompletion()可用于检索有关多边形顶点的信息。
#1045
Code 节点的新示例。
#1023
Fixed bugs 🐛
查看 更新指南 获取如何更新现有项目的信息。