Skip to content

Conversation

HardyNLee
Copy link
Contributor

@HardyNLee HardyNLee commented Jun 14, 2025

介绍

fix #701

主要更改

  • 现在, changeFigure 和 changeBg 的 duration 可以控制退场时长
    • 使用 changeFigure: none -duration=1000; 可以让指定立绘按给定时长退场
    • 使用 changeFigure: anonther_image.png -duration=1000; 顶替在场立绘时, 新立绘的出场动画与旧退场动画的时长相同
    • 同理, changeFigure: anonther_image.png -exit=<exit>; 也可以控制被顶替立绘的退场效果
  • changeFigure 和 changeBg 的 duration 可以为 0;
  • 进场动画与退场动画相关的 timeout 现在可跟随演出的结束而结束;
    • 提前结束演出会强制完成出场退场动画
    • IStageAnimationObject 新增 stopFunction, 在 removeAnimation 时调用

测试

label:loop;
changeBg:WebGAL_New_Enter_Image.png -duration=200-next;
:WebGAL_New_Enter_Image.png duration=200;
changeBg:bg.png -duration=5000 -next;
:bg.png duration=5000;
changeFigure:stand.png -duration=200 -next;
:stand.png duration=200;
changeFigure:none -duration=5000 -next;
: none 用鼠标触发提前执行此句|按理说现在退场动画要被强制完成 -duration=5000;
changeFigure:stand.png -duration=200 -next;
:stand.png duration=200;
changeFigure:stand2.png -duration=5000 -next;
:stand2.png duration=5000;
changeFigure:stand.png -duration=200 -next;
:stand.png duration=200;
jumpLabel:loop;

@HardyNLee HardyNLee requested a review from MakinoharaShoko July 6, 2025 17:16
@HardyNLee
Copy link
Contributor Author

已修改

@HardyNLee
Copy link
Contributor Author

在最近的提交中作出如下更改

  • 入场退场动画相关的代码, 基本上能复用都复用了
  • 在部分 resetStageState 前添加了 removeAllStageObject(), 这是因为, 由于 removeStageObject stopPresetAnimation 搬迁至 changeFigurechangeBgstopFunction 中, resetStageState 引起的退场无法注销退场动画和销毁对象, 故手动清除

@MakinoharaShoko
Copy link
Member

eslint 已扫描出许多不标准的写法,请至少处理其中 Error 的部分。

@MakinoharaShoko
Copy link
Member

请解决冲突,并将 dev 分支合入当前分支

@HardyNLee HardyNLee force-pushed the fix-enter-exit-duration branch from 007785d to b592494 Compare September 4, 2025 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants