Repository navigation
v1.2.2 动作切换交叉淡入,不再生硬
桌面宠物 DesktopPet v1.2.2
这一版只改动起来的手感:点击动作 → 动画开始不再生硬。
1. 交叉淡入(250ms)
以前点一下就从待机的某帧「啪」一下跳到动作第一帧。现在切动作时,把「上一帧」和动作第一帧按 6 帧(约 250ms)比例混合过渡:
- 动作开始:
动作过渡:cat 交叉淡入 6 帧(250ms) - 动作播完:
动作过渡:idle 交叉淡入 6 帧—— 回待机也是淡入,不再突然换姿势 - 淡入起点在建帧之前先拷一份(建帧会释放旧帧缓存,直接拿句柄会 GDI+ 报错)
2. 载入时不再定住画面
建帧(241 帧 PNG 解码 + 垫画布)原来是在点击处理里同步跑完的,期间窗口完全不动。现在每 8 帧跑一次消息循环,载入过程里宠物继续播待机动画,不会「卡一秒然后突然跳」。
代价:载入那 1 秒左右渲染帧率会掉到 13~16 fps(日志里能看到),载入完成后恢复 24 fps。
3. 其它
- 上一版把帧缓存收紧到 2 个动作,释放帧时会清掉「上一帧」指针,避免淡入拿到已释放的位图
- 素材没变(24fps / 241 帧 / 318×200 画布)
升级
解压覆盖(别动 settings.json),托盘退出再 start.bat。