Newcar 在经历了原生 Canvas -> Skia 的进展过程将会在 2.0.0 版本结束,至此 Newcar 已重构完毕,相比于 1.0, newcar 用更优雅,性能更高的方式实现了内核的重写以及 API 的重设计
我们模仿了 Vue 的响应式设计,并把它用在 Newcar 的按需更新上,让程序运行更加的高效
const widget = new Widget()
widget.x.value = 100
缺点:需要使用 .value
进行值的访问和修改
传统的动画需要一个一个进行 animate,而且修改单个值特别麻烦,有了 setup 语法糖,就可以通过生成器函数逐个逐个的调用动画
widget.setup(w => {
yield 3 // 等待 3 秒
console.log('Hello world!')
// 执行动画
yield create().withAttr({ duration: 3 })
})
Newcar 相比于 Manim 最大的好处就是可以进行交互,这也是前端的一大优势
新版本增加了交互系统,如 scalable
, 可以让用户自由缩放组件
new Widget({
dragable: true,
scalable: true,
})
[https://github.com/dromara/newcar]( https://github.com/dromara/newcar)
1
qwertyzzz 155 天前
看不懂 顶
|