大家好!

我觉得这次的分享对大家来说会是一个救命稻草,所以这里就开始分享了...

GMMT实际上是我的UI框架GMUI的动画API。

我把它分离成了一个独立的框架。

它是什么以及我们如何使用它?它是一个非常容易使用的缓动框架。它有一个安全和开始的概念(至少我喜欢这样称呼它)。你可以在每个帧中调用缓动函数来开始和获取值。一个基本的例子如下:

// Lets 在每个帧的步进事件中调用
x = gmmt_tween("player_x", x, target_x, 5_000_000, gmmt_ease.OUT_BACK);

它的作用是首先检查是否有一个名为“player_x”的缓动存在。如果不存在,它就会开始一个新的缓动并返回当前值。如果已经存在一个缓动,那么它就会返回缓动的值。这样就可以避免使用if else语句并保持代码清洁。但是,如果我们使用..._startgmmt_tween_start,它就会开始缓动并重置缓动,如果已经存在的话,而不检查缓动的值。这使得你可以创建自定义状态。

它的循环非常简单,不会干扰你的项目,你只需要在开始使用前调用gmmt_init(),然后在步进事件中调用gmmt_update(),然后你就可以使用任何GMMT函数了。当你完成使用时,调用gmmt_cleanup()通常在清除事件或脚本中。非常直观。

你可能会想知道,它还有什么其他功能?

功能

  • 缓动 – 30+内置缓动函数,自定义缓动,轴向缓动,强度和功率修饰符
  • 值类型 – 实数,整数,颜色(RGB/RGBA),向量2/3/4,数组,自定义lerp函数
  • 播放 – 播放,暂停,恢复,反转,寻找,重复,反弹,分段播放
  • 效果 – 振动,抖动,抖动,抖动,抖动
  • 曲线 – 贝塞尔,二次,三次2D,卡特马尔-罗姆抛物线,运动路径
  • 物理 – 可调张力,摩擦力和质量的弹簧模拟
  • 时间轴 – 基于关键帧的多阶段动画,按段缓动
  • 剪辑 – 可重用的名称动画剪辑,标记,链式和分段支持
  • 回调 – on_start,on_update,on_complete,on_repeat,on_pingpong,on_pause,on_resume

gif演示包含在仓库中,使用GMUI制作的。它展示了你可以做什么。GMMT的功能完全取决于你的创造力。

它的价格是多少?免费,MIT授权。

仓库在哪里?这里就是:Github GMMT

请告诉我你的想法,我很乐意接受你的建议!