(Tween 综合讨论) 关于 3.8.4 Tween 系统的类型改进

:+1: :+1: :+1:

添加 Tween.timeScale(scale) 方法和 Tween.duration getter

3赞

添加暂停、恢复接口:

3赞

自定义更新动作 API:

2赞

添加 Tween.startAt(time) API, PR:

为啥不直接在start方法上加startTime参数,默认是0?

:+1: 嗯,直接改 start 也挺好的。我稍后调整一下。

后面的版本会拆小一点,社区版本也会提前,384 预计今年6月,有好消息喔

已合并,感谢建议。

如果需要用户手动改代码升级的,建议放到3.9大版本里面改,如果能自动升级就可以在小版本里面改,并且要测试好,自动升级不要有bug哈

放心,不用改。

另外,我看到 Tween 模块把 TweenAction 内部类型也给 export 出去了。这个类型 export 出去外部也没法使用啊,因为 ActionManager 本身也是内部的,外部难道需要去 new 一个 TweenAction 吗?

我看 TweenAction 是在 3.4 版本中的这个 PR: https://github.com/cocos/cocos-engine/pull/9673
中被 export 的。

Tween 的入口应该收拢在 tween.ts 这入口内部,并且遵循模块最小 export 原则。

所以,这里我想问问广大开发者们,你们会直接用到这 TweenAction 吗?如果有用到,是因为什么原因?

可以试用啦:https://forum.cocos.org/t/topic/158561

大家后续在我新开的帖反馈问题吧。

我现在都是分开写的,真的好分裂,还没有2.x好用,那个音频管理也是一样的,感觉没有2.x好用

有时候tween需要提前完成,就是我播到一半想直接到最后一帧,我现在都是先停止然后直接设置对应参数,不知道有什么办法。action-manager能添加一个获取target所有的action现在只有一个ByTag

可以自定义 onUpdate 在onUpdate里面可以处理自己的逻辑,想直接跳到最后一帧也可以这样写

比较关心是否有 Breaking Change! 是否兼容3.8.4 因为我们这里已经有了一套自己封装好的Tween工具类了.

385就是384

这个需求有一个 issue 跟进:
https://github.com/cocos/cocos-engine/issues/17123

另外,action-manager 和 action 是 tween 系统的内部类型,不建议直接使用。

export class TweenSystem extends System {
        // 这个 ActionManager 类型是 private 的,不建议上层直接调用。
        get ActionManager(): __private._cocos_tween_actions_action_manager__ActionManager;

这个帖子主题就是 3.8.4 的,之前经历过一次版本重命名。我改下标题。