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
文本框