This commit is contained in:
tianmo committed 2026-11-07 15:12:13 +08:00
1 parent b3e9481fe5
commit e626e685fc
25 files changed
+189 -13

No files matched your search

+23 -1
View File
@@ -74,4 +74,26 @@ if (module.ensureDefaultSequenceFrames(fixedResource)) {
throw new Error('固定图片模式不应填充序列帧')
}
console.log('默认序列帧校验通过:15 FPS、yanhua 01-15 顺序、路径、资源名称、文件存在,且不会覆盖已有序列')
const playbackResource = {
imageMode: 'sequence',
sequencePlayback: 'loop-forward',
sequenceStart: 'random',
sequenceFps: 10,
sequenceFrames: Array.from({ length: 4 }, (_, index) => ({ name: `${index}.png`, previewUrl: '', texture: null })),
}
const fixedStart = module.imageSequenceStartOffset({ ...playbackResource, sequenceStart: 'first' }, 42, 7)
if (fixedStart !== 0) throw new Error('固定首帧不应产生随机偏移')
const randomStart = module.imageSequenceStartOffset(playbackResource, 42, 7)
if (randomStart !== module.imageSequenceStartOffset(playbackResource, 42, 7) || randomStart < 0 || randomStart >= 4) {
throw new Error('随机起始帧必须确定且位于序列范围内')
}
const variants = new Set(Array.from({ length: 32 }, (_, spawnId) => module.imageSequenceStartOffset(playbackResource, 42, spawnId)))
if (variants.size < 2) throw new Error('随机起始帧未在不同粒子间产生变化')
if (module.imageFrameState(playbackResource, 0).index !== 0) throw new Error('固定首帧应从第 0 帧开始')
if (module.imageFrameState(playbackResource, 0, 3).index !== 3) throw new Error('正向播放应从随机偏移帧开始')
const reverseResource = { ...playbackResource, sequencePlayback: 'loop-reverse' }
if (module.imageFrameState(reverseResource, 0, 3).index !== 0) throw new Error('反向播放应从随机偏移帧反向开始')
const onceResource = { ...playbackResource, sequencePlayback: 'once-hide' }
if (module.imageFrameState(onceResource, 0.3, 2).visible) throw new Error('单次隐藏应按偏移后的时长结束')
console.log('默认序列帧校验通过:15 FPS、yanhua 顺序、资源路径、固定/随机起始帧与四种播放方式')