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

    • 更新日志
  • 指南

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

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

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

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

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

    • 战斗血液效果
    • 地图天气
  • 模型框

    • 内置模型:0:小人,1:小树,2:小猪
    • 外部模型支持.glb格式3D模型

    配置项

    名称类型必填说明
    类型 文本true固定值:模型 表示这是一个模型框控件
    名称 文本true窗口中唯一标识
    x 整数false默认显示坐标x
    y 整数false默认显示坐标y
    宽度 整数false如果设置会固定模型框包围盒的宽度,默认值为0。
    高度 整数false如果设置会固定模型框包围盒的高度,默认值为0。
    模型 文本/整数false文本型:素材标识 整数型:0:小人,1:小树,2:小猪
    动作 文本false默认播放的动作
    颜色 RGBAfalse模型的颜色
    亮度 小数false模型的亮度,默认值为0。越大越亮,越小越暗。取值范围:-1 - 1。
    缩放 小数false模型整体缩放倍率 (1.0=原始大小)
    阴影效果 整数false0:无阴影, 1:圆形 , 2:实时投影
    水平缩放 数值false
    垂直缩放 数值false
    水平角度 数值falseX轴的旋转角度 0-360
    播放速度 小数false模型动作播放速度,默认值为1。越大播放速度越快,负数表示反向播放。
    播放模式 整数false0:播放1次, 1:循环播放 , 2:往返循环播放
    镜头距离 小数false设置摄像机距离 (默认 1.0=原始大小, >1 放大/<1 缩小)
    镜头角度 数值false设置摄像机角度 (度, 默认 ~26.565°=2:1等距, 45°=更俯, 90°=纯俯视)
    影子透明 小数false设置影子透明度 (0=完全透明/消失, 1=完全不透明, 默认 0.35)
    变换矩阵 整数false取值范围:0-5, 0:无变换, 1:X斜切, 2:Y斜切, 3:X拉伸, 4:Y拉伸, 5:等比拉伸
    矩阵系数 数值false组件的矩阵系数。
    遮罩 整数false0.无
    1.定义遮罩镂空的形状,有像素的区域被镂空。
    2.仅在镂空的区域显示。
    3.仅在镂空之外的区域显示。
    气泡提示 文本false
    气泡皮肤 文本false
    默认可视 逻辑false默认是否显示
    附加 tablefalse自定义变量
    鼠标事件 逻辑false是否响应鼠标事件 默认:false
    系统事件 tablefalse
    {
        名称 = "模型框1",
        类型 = "模型框",
        x = 100,
        y = 200,
        模型 = 0,
    },
    

    属性

    可视

    • 类型:逻辑
    • 读写:读写
    • 说明:是否显示控件

    父窗口

    • 类型:窗口对象
    • 读写:只读
    • 说明:控件的父窗口对象
    调试输出(文本框1.父窗口.名称)
    

    x

    • 类型:整数
    • 读写:读写
    • 说明:控件在窗口上的x坐标

    y

    • 类型:整数
    • 读写:读写
    • 说明:控件在窗口上的y坐标

    次序

    • 类型:数值
    • 读写:读写
    • 说明:动态改变控件的显示层级,值越大越先显示。

    鼠标坐标

    • 类型:{x=,y=}
    • 读写:只读
    • 说明:鼠标指针在模型框上的相对坐标。

    鼠标焦点

    • 类型:逻辑
    • 读写:只读
    • 说明:鼠标是否在模型框上。

    颜色

    • 类型:整数
    • 读写:读写
    • 说明:模型的颜色

    亮度

    • 类型:小数
    • 读写:读写
    • 说明:模型的亮度,默认值为0。越大越亮,越小越暗。取值范围:-1 - 1。

    阴影效果

    • 类型:整数
    • 读写:读写
    • 说明:0:无阴影, 1:圆形 , 2:实时投影

    缩放

    • 类型:小数
    • 读写:读写
    • 说明:模型整体缩放倍率 (1.0=原始大小)

    水平缩放

    • 类型:数值
    • 读写:读写
    • 说明:动画在窗口上的水平缩放

    垂直缩放

    • 类型:数值
    • 读写:读写
    • 说明:控件在窗口上的垂直缩放

    播放速度

    • 类型:小数
    • 读写:读写
    • 说明:模型动作播放速度,默认值为1。越大播放速度越快,负数表示反向播放。

    播放模式

    • 类型:整数
    • 读写:读写
    • 说明:0:播放1次, 1:循环播放 , 2:往返循环播放。

    播放状态

    • 类型:整数
    • 读写:只读
    • 说明:0:已结束/已停止, 1:播放中 , 2:暂停中。

    水平角度

    • 类型:数值
    • 读写:读写
    • 说明:X轴的旋转角度 0-360

    模型信息

    • 类型:table {}
    • 读写:只读
    • 说明:动画模型中的信息
    名称类型说明
    顶点整数模型中的顶点数量
    三角形整数模型中的三角形数量
    图元整数模型中的图元数量 每次渲染drawcall次数
    动作table { {名称,时长}, {名称,时长}, ...}模型中的所有animation
    网格table {}模型中的所有mesh
    骨骼table { {名称,路径}, {名称,路径}, ...}模型中的所有bone
    调试输出(模型框1.模型信息)
    

    骨骼信息

    • 类型:table {kv}
    • 读写:只读
    • 说明:将模型信息中的骨骼信息转换为键值对格式方便获取。
    调试输出(模型框1.骨骼信息["OverHead Ref  Ref"])
    调试输出(模型框1.骨骼信息)
    
    

    模型

    • 类型:文本/整数
    • 读写:读写
    • 说明:改变模型框中模型,文本型:素材标识 整数型:0:小人,1:小树,2:小猪。
    模型框.模型 = math.random(0,2)
    

    动作

    • 类型:文本
    • 读写:读写
    • 说明:改变模型框中播放的动作。
    模型框.播放模式 = 0
    模型框.动作 = "attack"
    

    透明度

    • 类型:小数
    • 读写:读写
    • 说明:取值范围 0-1

    变换矩阵

    • 类型:整数
    • 读写:读写
    • 说明:0:无变换, 1:X斜切, 2:Y斜切, 3:X拉伸, 4:Y拉伸, 5:等比拉伸

    矩阵系数

    • 类型:数值
    • 读写:读写
    • 说明:矩阵系数。

    附加

    • 类型:table
    • 读写:读写
    • 说明:读写控件的附加信息。

    方法

    网格染色

    网格染色
    设置指定网格(Mesh)的染色。
    参数名称值的类型是否必填说明描述
    网格名称 文本true网格的名称。与模型mesh名称一致,可以通过属性[模型信息]获取。
    颜色 RGBAtrue网格的颜色。

    示例

    模型框2.网格染色("1 HeroArchMage",RGBA(math.random(0,255),math.random(0,255),math.random(0,255),255))
    

    网格可视

    网格可视
    说明:设置或者取回网格(mesh)可见状态。
    参数名称值的类型是否必填说明描述
    网格名称 文本true网格的名称。与模型mesh名称一致,可以通过属性[模型信息]获取。
    可视 逻辑false网格是否可见。 nil表示取回

    示例

    模型框.网格可视("1 Footman",not (模型框.网格可视("1 Footman")))
    
    返回值值的类型说明描述
    是否可视 逻辑网格是否可见。

    注意事项
    1、可视为nil时,取回当前网格的可视状态。

    设置平行光

    设置平行光
    设置为方向光 (如太阳, 平行光线)。
    参数名称值的类型是否必填说明描述
    角度 数值true方位角 0°~360° (光来的水平方向)
    仰角 数值false仰角 1°~90° (90°=正午头顶/影子最短, 越低影子越长)

    示例

    模型框.设置平行光(45,80)
    

    注意事项
    1、平行光和点光源同时只存在一个。

    设置点光源

    设置点光源
    设置为2D点光源 (如火把/灯泡, 不同位置的模型影子不同)。
    参数名称值的类型是否必填说明描述
    x 数值true光源坐标
    y 数值true
    高度 数值false光源距地面高度 (越大影子越短)

    示例

    模型框.设置点光源(400,100,150)
    

    注意事项
    1、平行光和点光源同时只存在一个。

    取骨骼坐标

    取骨骼坐标
    获取指定骨骼的屏幕坐标。
    参数名称值的类型是否必填说明描述
    骨骼名称 文本true骨骼的名称。与模型bone名称一致,可以通过属性[模型信息]获取。

    示例

    local x, y = 模型框.取骨骼坐标("OverHead Ref  Ref")
    调试输出(x, y)
    
    返回值值的类型说明描述
    x 数值x偏移
    y 数值y偏移

    注意事项
    1、x,y是相对于模型框坐标的偏移量。

    系统事件

    🔹 载入完成

    模型框中的模型载入完成后触发

    回调参数类型说明描述
    模型框 模型框对象

    示例

    系统事件 = {
        载入完成 = function (模型框)
           调试输出(模型框.名称,模型框.模型信息)
        end
    }
    

    🔹 焦点

    控件焦点变化时触发, 需要启用 鼠标事件

    回调参数类型说明描述
    模型框 模型框对象
    焦点状态 逻辑

    示例

    系统事件 = {
        焦点 = function(模型框,焦点状态)
            if (焦点状态) then
                模型框.颜色 = 0xFFFF00FF
                模型框.亮度 = 0.5
            else 
                模型框.颜色 = 0xFFFFFFFF
                模型框.亮度 = 0
            end
        end,
    }
    

    🔹 鼠标按下

    • 鼠标按下时触发,需要启用鼠标事件。
    • 返回 true 可以阻止事件的继续传递。
    回调参数类型说明描述
    模型框 模型框对象
    键值 整数 0:左键 1:右键 2:中键。
    功能键 整数1:Ctrl 2:Shift 3:Alt 是否处于按下状态

    示例

    系统事件 = {
        鼠标按下 = function(模型框,键值,功能键)
            调试输出(模型框.名称)
            return true
        end,
    }
    

    🔹 鼠标弹起

    • 鼠标弹起时触发,需要启用鼠标事件。
    • 返回 true 可以阻止事件的继续传递。
    回调参数类型说明描述
    模型框 模型框
    键值 整数 0:左键 1:右键 2:中键。
    功能键 整数1:Ctrl 2:Shift 3:Alt 是否处于按下状态

    示例

    系统事件 = {
        鼠标弹起 = function(模型框,键值,功能键)
          
        end,
    }
    

    🔹 鼠标移动

    • 鼠标在组件上移动时触发,需要启用鼠标事件。
    • 返回 true 可以阻止事件的继续传递。
    回调参数类型说明描述
    模型框 模型框
    功能键 整数1:Ctrl 2:Shift 3:Alt 是否处于按下状态

    示例

    系统事件 = {
        鼠标移动 = function(模型框,功能键)
            调试输出("鼠标移动",模型框.名称,模型框.鼠标坐标.x,模型框.鼠标坐标.y)
        end,
    }
    

    🔹 鼠标滚轮

    • 鼠标在组件上滚轮滚动时触发,需要启用鼠标事件。
    • 返回 true 可以阻止事件的继续传递。
    回调参数类型说明描述
    模型框 模型框
    滚动状态 数值 滚轮滚动值。

    示例

    系统事件 = {
        鼠标滚轮 = function(模型框,滚动状态)
            调试输出("鼠标滚轮",滚动状态)
        end,
    }
    

    🔹 点击

    控件被点击时触发, 需要启用 鼠标事件

    回调参数类型说明描述
    模型框 模型框对象

    示例

    系统事件 = {
        点击 = function(模型框)
            引擎.创建缓动().to(模型框,{透明度=0},300)
        end,
    }
    
    Prev
    动画框
    Next
    文本框