使用带有标记名称的 goToAndStop 会在 ip 或片段为零时渲染错误的帧
作者: Gamote创建于 2026年8月12日更新于 2026年8月12日
`goToAndStop` 和 `goToAndPlay` 分别在两个不同的坐标系中读取标记的 `time`,因此它们都无法正确。`goToAndStop` 的标记分支调用 `this.goToAndStop(marker.time, true)`。使用 `isFrame: true`,值会落入 `setCurrentRawFrameValue`,渲染会绘制 `currentFrame + firstFrame`,因此 `marker.time` 被视为相对于可播放范围的**相对**值。但是 `marker.time` 是文件中的 `tm`,这是一个**绝对**的文件帧,这正是 `goToAndPlay` 的标记分支对其处理的方式:它将相同的值传递给 `playSegments`,其中 `adjustSegment` 将其赋值给 `firstFrame`,这是一个绝对位置。
内容来源: airbnb/lottie-web