Dream Mod 3.0Dream Mod 3.0
首页
快速开始
资源库
首页
快速开始
资源库
  • 进度

    • 更新日志
  • 指南

    • 快速上手
    • App.lua
    • Server.lua
    • 地图
    • 角色
    • 道具
    • 技能
    • 状态
    • 窗口
    • 成长
    • DmTcpClient
    • WebSocketClient
    • SqliteDB
    • 皮肤
    • 自定义组件
  • Api

    • 引擎
    • 地图
    • 角色
    • 道具
    • 技能
    • 状态
    • 窗口
    • 自定义组件
    • 音乐
    • 缓动
    • 全局
  • 控件

    • 标签
    • 按钮
    • 图片框
    • 动画框
    • 模型框
    • 文本框
    • 进度条
    • 技能格子
    • 快捷格子
    • 包裹格子
    • 道具格子
    • 角色框
    • 选择框
    • 选择夹
    • 容器
    • 地图框
    • 滑块条
    • 滚动条
    • 组合框
    • 输入框
    • 列表框
  • 组件

    • 文本
    • 艺术字
    • 精灵
    • 矩形
    • 圆形
    • 动画
    • 模型
  • 其他

    • 丰富文本
    • 模板变量
    • 资源格式
    • 游戏盒子
    • 资源列表
  • 自定义功能

    • 战斗血液效果
    • 地图天气
  • 缓动

    提示

    缓动对象通过 引擎.创建缓动 创建。

    方法

    to

    to
    说明:缓动到目标值。
    参数名称值的类型是否必填说明描述
    目标对象 tabletrue被缓动的对象
    属性列表 tabletrue要缓动到的目标属性
    完成时间 数值true多少毫秒内完成缓动
    onUpdate functionfalse属性变化时回调进度 回调参数(k[属性名],v[当前值],over[完成],dt[帧时间],event_dt[累计时间], completed[全部完成])
    缓动类型 文本false
    二次方_in 二次方_out二次方_inOut
    三次方_in 三次方_out三次方_inOut
    四次方_in 四次方_out四次方_inOut
    五次方_in 五次方_out五次方_inOut
    正弦曲线_in 正弦曲线_out 正弦曲线_inOut
    指数曲线_in 指数曲线_out 指数曲线_inOut
    圆形曲线_in 圆形曲线_out 圆形曲线_inOut
    曲线衰减_in 曲线衰减_out 曲线衰减_inOut
    后移衰减_in 后移衰减_out 后移衰减_inOut
    反弹衰减_in 反弹衰减_out 反弹衰减_inOut
    延迟执行 数值false单位:毫秒

    示例

    引擎.创建缓动().to(引擎.窗口.底部UI.地图按钮,{y=-100,x=100},300);
    
    
    local 小鸡 = {吃饭进度=0}
    引擎.创建缓动().to(小鸡,{吃饭进度=100},1000,function(k,v,over)
      调试输出(k,v,over)
    end);
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    注意事项
    1、onUpdate 中可以通过返回值改变结果

    by

    by
    说明:在当前属性值基础上,相对缓动到目标值。
    参数名称值的类型是否必填说明描述
    目标对象 tabletrue被缓动的对象
    属性列表 tabletrue要缓动到的目标属性
    完成时间 数值true多少毫秒内完成缓动
    onUpdate functionfalse属性变化时回调进度 回调参数(k[属性名],v[当前值],over[完成],dt[帧时间], event_dt[累计时间], completed[全部完成])
    缓动类型 文本false
    二次方_in 二次方_out二次方_inOut
    三次方_in 三次方_out三次方_inOut
    四次方_in 四次方_out四次方_inOut
    五次方_in 五次方_out五次方_inOut
    正弦曲线_in 正弦曲线_out 正弦曲线_inOut
    指数曲线_in 指数曲线_out 指数曲线_inOut
    圆形曲线_in 圆形曲线_out 圆形曲线_inOut
    曲线衰减_in 曲线衰减_out 曲线衰减_inOut
    后移衰减_in 后移衰减_out 后移衰减_inOut
    反弹衰减_in 反弹衰减_out 反弹衰减_inOut
    延迟执行 数值false单位:毫秒

    示例

    引擎.创建缓动().by(引擎.窗口.底部UI.地图按钮,{y=-50},300,nil,"后移衰减_out") -- 本次调用在当前的y坐标基础上 上移50
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    注意事项
    1、onUpdate 中可以通过返回值改变结果

    wait

    wait
    说明:延时等待。
    参数名称值的类型是否必填说明描述
    等待时间 整数false单位:毫秒

    示例

    引擎.创建缓动()
    .by(引擎.窗口.底部UI.地图按钮,{y=-50},300,nil,"后移衰减_out")
    .wait(1000)
    .by(引擎.窗口.底部UI.地图按钮,{y=50},300,nil,"后移衰减_in")
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    call

    call
    说明:调用自定义函数。
    参数名称值的类型是否必填说明描述
    函数 functiontrue
    名称类型说明描述
    属性 table{dt [帧时间],time [函数运行时间],over [结束开关]}
    附加 通用
    附加 通用false会传递到函数中去

    示例

    引擎.创建缓动()
    .by(引擎.窗口.底部UI.地图按钮,{y=-150},300,nil,"后移衰减_out")
    .call(function(属性,按钮)
      if (属性.定时器 == nil) then
        属性.定时器 = 0
        属性.进度 = 0
        按钮.标题 = "起飞"
      end
      属性.定时器 = 属性.定时器 + 属性.dt
    
      if (属性.定时器 >= 1000) then
        属性.定时器 = 0
        属性.进度 = 属性.进度 + 1
        if (属性.进度 < 4) then
          引擎.屏幕提示("倒计时 " .. 属性.进度) 
    
        elseif (属性.进度 == 4) then
          引擎.屏幕提示("准备降落") 
          按钮.标题 = "降落"
          属性.over = true -- 结束函数的一种方式
        --	return true	-- 结束函数的另一种方式
        end
      end
    
    end,引擎.窗口.底部UI.地图按钮)
    .by(引擎.窗口.底部UI.地图按钮,{y=150},300,nil,"后移衰减_in")
    .call(function(属性,按钮)
      按钮.标题 = "挂机"
      return true
    end,引擎.窗口.底部UI.地图按钮)
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    提示

    通过系统回调参数中的[over],或者返回值 true都可以结束函数运行。

    jump

    jump
    说明:跳跃到指定位置。
    参数名称值的类型是否必填说明描述
    目标对象 tabletrue发生跳跃的对象
    x 整数true
    y 整数true
    速度 整数false默认:500
    高度 数值false默认:30
    相对跳跃 逻辑false默认:false
    重力效果 逻辑false默认:false
    旋转效果 逻辑false默认:false

    示例

    local 按钮对象 = 引擎.窗口.底部UI.地图按钮
    引擎.创建缓动().jump(按钮对象,-80,-20,600,300,true)
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    stop

    stop
    说明:立即结束缓动。
    参数名称值的类型是否必填说明描述
    销毁 逻辑false非自动销毁的缓动对象可以在这里设置参数true,销毁

    示例

    local 按钮对象 = 引擎.窗口.底部UI.地图按钮
    if (按钮对象.附加.缓动) then -- 已经有缓动了
    	按钮对象.附加.缓动.stop()
    	按钮对象.x = 610
    	按钮对象.y = 40
    end
    按钮对象.附加.缓动 = 引擎.创建缓动().jump(按钮对象,-80,-20,600,300,true).jump(按钮对象,80,20,600,300,true)
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    over

    over
    说明:判断缓动是否结束。

    示例

    调试输出(缓动对象.over())
    
    返回值值的类型说明描述
    是否完成 逻辑

    all

    all
    说明:并行执行多个缓动事件,所有子事件完成后触发回调。
    参数名称值的类型是否必填说明描述
    事件组tabletrue 缓动事件列表,每个元素为一个 table,包含以下字段:
    字段名值的类型是否必填说明描述
    目标对象 tabletrue被缓动的对象
    属性列表 tabletrue要缓动到的目标属性
    花费时间 数值true多少毫秒内完成缓动
    缓动类型 文本false
    延迟执行 数值false单位:毫秒
    完成回调 functiontrue所有子事件完成后触发,无参数回调
    延迟执行 数值false整组的延迟执行,单位:毫秒

    示例

    -- 两个节点同时位移到对方位置(并行组)
    node._缓动位移.stop()
    node._缓动位移.all({
        {目标对象 = nodeA, 属性列表 = {x = bx, y = by}, 花费时间 = 180, 缓动类型 = "二次方_inOut"},
        {目标对象 = nodeB, 属性列表 = {x = ax, y = ay}, 花费时间 = 180, 缓动类型 = "二次方_inOut"},
    }, function()
        调试输出("两个缓动都完成了")
    end)
    
    -- 配合其他链式调用
    引擎.创建缓动()
    .to(按钮, {x = 100}, 300)
    .all({
        {目标对象 = 标签A, 属性列表 = {透明度 = 0.5}, 花费时间 = 200},
        {目标对象 = 标签B, 属性列表 = {透明度 = 0.5}, 花费时间 = 200},
    }, function()
        引擎.屏幕提示("动画完成")
    end)
    
    返回值值的类型说明描述
    缓动对象 缓动对象返回当前正在执行的缓动对象

    注意事项
    1、all() 内的子事件并行独立执行,互不等待
    2、完成回调在所有子事件完成后才触发
    3、子事件与 to() 的参数结构一致(目标对象、属性列表、花费时间、缓动类型、延迟执行)
    4、链式调用时 all() 会先等待前面的缓动完成,再启动并行组

    progress

    progress
    说明:查询当前缓动的执行进度。

    示例

    local 进度 = 缓动对象.progress()
    调试输出("缓动进度:", 进度)  -- 0.0 ~ 1.0
    
    返回值值的类型说明描述
    进度 数值0.0 ~ 1.0,空闲/未开始返回 0,完成返回 1
    Prev
    音乐
    Next
    全局