diff --git a/web-packages/test/case/2d/src/common/utilities.ts b/web-packages/test/case/2d/src/common/utilities.ts index e6aeb1f47..f756c6478 100644 --- a/web-packages/test/case/2d/src/common/utilities.ts +++ b/web-packages/test/case/2d/src/common/utilities.ts @@ -56,41 +56,40 @@ export class TestPlayer { } Math.seedrandom('mars-runtime'); - if (!this.player.oldVersion) { + if (this.oldVersion) { + this.scene = await this.player.loadSceneAsync(url, { ...loadOptions, timeout: 100 }); + Math.seedrandom('mars-runtime'); + this.composition = await this.player.play(this.scene, playerOptions ?? { pauseOnFirstFrame: true }); + } else { getDefaultTemplateCanvasPool().dispose(); - const assetManager = new AssetManager(); + const assetManager = new AssetManager({ ...loadOptions, timeout: 100, autoplay: false }); const json = await assetManager.loadScene(url); compatibleCalculateItem(json.jsonScene.compositions[0]); - this.player.destroyCurrentCompositions(); - Math.seedrandom('mars-runtime'); this.composition = this.scene = await this.player.loadScene(json, { ...loadOptions, timeout: 100, autoplay: false }); - this.player.gotoAndStop(0); - } else { - // 旧版Mars调用 - this.scene = await this.player.loadSceneAsync(url, { ...loadOptions, timeout: 100 }); Math.seedrandom('mars-runtime'); - this.composition = await this.player.play(this.scene, playerOptions ?? { pauseOnFirstFrame: true }); + this.player.gotoAndStop(0); } } - gotoTime (time) { + gotoTime (newtime) { + + let time = newtime; + + // 兼容旧 Player 设置结束行为为重播时在第duration秒会回到第0帧 + if (this.composition.content.endBehavior === 5 && newtime === this.composition.content.duration) { + time -= 0.01; + } const deltaTime = time - this.lastTime; - this.lastTime = time; - // + this.lastTime = newtime; Math.seedrandom(`mars-runtime${time}`); if (this.player.gotoAndStop) { this.player.gotoAndStop(time); - const comp = this.player.getCompositions()[0]; - - if (comp.time === comp.duration && comp.content.endBehavior === 5) { - this.player.gotoAndStop(0); - } } else { this.composition.forwardTime(deltaTime); - this.player.tick(0); + this.player.doTick(0, true); } } @@ -122,7 +121,7 @@ export class TestPlayer { } duration () { - return this.composition.compositionSourceManager.totalTime; + return this.composition.content.duration; } isLoop () { diff --git a/web-packages/test/case/2d/src/inspire/inspire.spec.ts b/web-packages/test/case/2d/src/inspire/inspire.spec.ts index 9b98abe1c..04a83e5dd 100644 --- a/web-packages/test/case/2d/src/inspire/inspire.spec.ts +++ b/web-packages/test/case/2d/src/inspire/inspire.spec.ts @@ -72,15 +72,15 @@ async function checkScene (keyName, name, url) { console.info(`[Compare]: Begin ${name}, ${url}`); const { oldPlayer, newPlayer, renderFramework } = controller; - runtimePlayer.player.compositions.length = 0; + newPlayer.player.compositions.length = 0; await oldPlayer.initialize(url); await newPlayer.initialize(url); const imageCmp = new ImageComparator(pixelDiffThreshold); const namePrefix = getCurrnetTimeStr(); const timeList = [ - 0, 0.11, 0.22, 0.34, 0.45, 0.57, 0.65, 0.71, 0.83, 0.96, 1.0, - 1.1, 1.2, 1.3, 1.4, 1.5, 1.7, 1.9, 2.0, 2.2, 2.5, 2.7, 3.0, 3.3, 3.8, - 4.1, 4.7, 5.2, 5.9, 6.8, 7.5, 8.6, 9.7, 9.99, 11.23, 12.5, 15.8, 18.9, + 0, 0.11, 0.22, 0.34, 0.45, 0.57, 0.71, 0.83, 0.96, + 1.1, 1.2, 1.4, 1.7, 1.9, 2.2, 2.5, 2.7, 3.3, 3.8, + 4.7, 5.2, 6.8, 7.5, 8.6, 9.7, 9.99, 12.5, 18.9, ]; let maxDiffValue = 0; @@ -130,6 +130,6 @@ async function checkScene (keyName, name, url) { ); console.info(`[Compare]: End ${name}, ${url}`); - runtimePlayer.disposeScene(); + newPlayer.disposeScene(); }); } diff --git a/web-packages/test/case/spine/src/index.ts b/web-packages/test/case/spine/src/index.ts index 4cab60112..e56e53995 100644 --- a/web-packages/test/case/spine/src/index.ts +++ b/web-packages/test/case/spine/src/index.ts @@ -57,7 +57,8 @@ async function checkScene (keyName, name, url) { await newPlayer.initialize(url); const imageCmp = new ImageComparator(pixelDiffThreshold); const namePrefix = getCurrnetTimeStr(); - const duration = oldPlayer.composition.duration; + const duration = oldPlayer.duration(); + const timeList = [ 0, 0.045, 0.11, 0.13, 0.17, 0.22, 0.28, 0.3, 0.34, 0.38, 0.41, 0.45, 0.51, 0.57, 0.63, 0.65, 0.69, 0.74, 0.77, diff --git a/web-packages/test/case/spine/src/scene-list.ts b/web-packages/test/case/spine/src/scene-list.ts index 546acf062..68a2a5650 100644 --- a/web-packages/test/case/spine/src/scene-list.ts +++ b/web-packages/test/case/spine/src/scene-list.ts @@ -1,8 +1,8 @@ export default { - spring: { - name: '找春天', - url: 'https://mdn.alipayobjects.com/mars/afts/file/A*DKH6SIWKIt4AAAAAAAAAAAAADlB4AQ', - }, + // spring: { + // name: '找春天', + // url: 'https://mdn.alipayobjects.com/mars/afts/file/A*DKH6SIWKIt4AAAAAAAAAAAAADlB4AQ', + // }, tiger: { name: '818理财', url: 'https://mdn.alipayobjects.com/mars/afts/file/A*JaLiQYyUqhoAAAAAAAAAAAAADlB4AQ', diff --git a/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-combine.spec.ts b/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-combine.spec.ts index c147d272c..59cbbdc83 100644 --- a/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-combine.spec.ts +++ b/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-combine.spec.ts @@ -61,10 +61,7 @@ describe('combine sprite meshes according to items', () => { // 粒子元素不参与合并 it('[getMeshSplits] combine composition items ignore invisible items and other type', async () => { - player = new Player({ - canvas: document.createElement('canvas'), - manualRender: true, - }); + const comp = await player.loadScene(generateSceneByOpts([ {}, { delay: 1 }, {}, { blending: 1, delay: 1 }, diff --git a/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-transform.spec.ts b/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-transform.spec.ts index d13ef38f3..ea683e203 100644 --- a/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-transform.spec.ts +++ b/web-packages/test/unit/src/effects-core/plugins/sprite/sprite-transform.spec.ts @@ -24,14 +24,14 @@ describe('sprite transform', () => { const position = item.transform.getWorldPosition().toArray(); const rotation = item.transform.getWorldRotation().toArray(); - const scale = item.transform.getWorldScale().toArray(); + const scale = item.content.basicTransform.scale; expect(position).to.deep.equals([0, 1, 0], 'position'); expect(rotation[0]).to.eql(0); expect(rotation[1]).to.eql(90); expect(rotation[2] === 0).to.be.true; - expect(item.content.startSize[0]).to.be.closeTo(0.15, 0.0001); - expect(item.content.startSize[1]).to.be.closeTo(0.15, 0.0001); + expect(scale.x).to.be.closeTo(0.15, 0.0001); + expect(scale.y).to.be.closeTo(0.15, 0.0001); const spriteGroup = comp.loaderData.spriteGroup; const mesh = spriteGroup.meshes[0]; const data = mesh.material.getMatrixArray('uMainData');