核心 API
rinne 是引擎的主入口实例,提供了创建动画、控制全局状态和管理内存的方法。
rinne.to(target, values, config)
Section titled “rinne.to(target, values, config)”创建一个实时增量动画。
target: 动画目标对象或选择器字符串。values: 包含目标属性的对象。config: 动画配置项(时长、缓动、延迟等)。
rinne.to(box, { x: 100 }, { duration: 1000, ease: 'expo.out' });rinne.set(target, values)
Section titled “rinne.set(target, values)”立即设置属性值。在内部,这等同于一个时长为 0 的 to 动画。
rinne.set(box, { opacity: 0 });rinne.tick(dt)
Section titled “rinne.tick(dt)”推进引擎时间。通常在 requestAnimationFrame 中调用。
dt: 自上一帧以来流逝的时间(毫秒)。
function frame(time) { const dt = time - lastTime; rinne.tick(dt); requestAnimationFrame(frame);}rinne.pause() / rinne.resume()
Section titled “rinne.pause() / rinne.resume()”暂停或恢复引擎的所有活跃动画。
rinne.timeScale(scale)
Section titled “rinne.timeScale(scale)”设置全局时间倍速。例如 2.0 表示两倍速播放。
状态与内存管理
Section titled “状态与内存管理”rinne.kill(target, prop?)
Section titled “rinne.kill(target, prop?)”中止目标对象上的动画。
- 如果不传
prop,则中止该对象上的所有动画。 - 执行时会进行 自动基准校准 (Rebaselining),将当前视觉偏移固化到基础状态。
rinne.free(target)
Section titled “rinne.free(target)”彻底释放目标对象。
- 移除所有关联的 Slot。
- 中止相关动画。
- 级联清理:如果目标是 Master 对象(如 Mesh),会自动清理其关联的 Slave Slot(如 position 数组)。
rinne.purge()
Section titled “rinne.purge()”重置整个引擎状态,清空所有 Slot 和动画。通常用于场景切换或单元测试。