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

    • 更新日志
  • 指南

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

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

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

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

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

    • 战斗血液效果
    • 地图天气
  • 包裹格子

    • 包裹格子控件是一个有行列属性的表格,通过接口 增加物品 和 地图上拾取掉落物都会自动进入包裹格子。
    • 游戏中可以拥有多个包裹格子控件
    名称类型必填说明
    类型 文本true固定值:包裹格子 表示这是一个包裹格子控件
    名称 文本true窗口中唯一标识
    x 整数false默认显示坐标x
    y 整数false默认显示坐标y
    格子宽度 整数false
    格子高度 整数false
    行距 整数false
    间距 整数false
    列数 整数false
    行数 整数false
    可视行数 整数false
    限制分类 文本false
    限制子类 文本false
    底图 文本false资源标识
    附加 tablefalse自定义变量
    禁止存档 逻辑false默认:false
    默认可视 逻辑false默认是否显示
    系统事件 tablefalse
    {
        名称 = "角色包裹",
        类型 = "包裹格子", 
        x = 10,
        y = 300,
        底图 = "默认皮肤|格子底图3",
        格子宽度 = 36,
        格子高度 = 36,
        列数 = 6,
        行数 = 8,
        可视行数 = 5,
    },
    
    

    属性

    可视

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

    父窗口

    • 类型:窗口对象
    • 读写:只读
    • 说明:控件的父窗口对象
    调试输出(包裹格子1.父窗口.名称)
    

    名称

    • 类型:文本
    • 读写:只读
    • 说明:控件的名称。

    水平缩放

    • 类型:数值
    • 读写:读写
    • 说明:水平缩放比例。

    垂直缩放

    • 类型:数值
    • 读写:读写
    • 说明:垂直缩放比例。

    次序

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

    行数

    • 类型:数值
    • 读写:只读
    • 说明:当前包裹格子的行数。

    列数

    • 类型:数值
    • 读写:只读
    • 说明:当前包裹格子的列数。

    焦点格子

    • 类型:table{行,列,x,y}/nil
    • 读写:只读
    • 说明:取出当前鼠标焦点所在的格子位置信息。

    方法

    取出物品

    取出物品
    说明:取出指定位置的道具。
    参数名称值的类型是否必填说明描述
    行 整数true
    列 整数true

    示例

    local 道具 = 引擎.窗口.包裹窗口.角色包裹.取出物品(1,1)
    if (道具) then
        调试输出(道具.名称)
    end
    
    返回值值的类型说明描述
    道具对象 道具对象空格子返回 nil

    寻找物品

    寻找物品
    说明:取出指定道具在包裹中的位置数组和总数量。
    参数名称值的类型是否必填说明描述
    名称 文本true

    示例

    local 道具位置组,总数量,剩余空位 = 包裹控件.寻找物品("金创药小") 
    if (道具位置组) then
        调试输出(道具位置组,总数量,剩余空位)
    end
    
    返回值值的类型说明描述
    道具位置组 table{}{ {道具,行,列,x,y},... }
    总数量 整数道具在包裹中的总数量
    剩余空位 整数包裹中剩余空位数量

    重置物品

    重置物品
    说明:重置指定位置的道具。
    参数名称值的类型是否必填说明描述
    行 整数true
    列 整数true
    道具名称 文本/道具对象falsenil 表示清空格子
    数量 整数false
    附加 tablefalse如果填写会传递到道具的 创建 事件中
    发现音效 逻辑false是否播放道具的发现音效 默认:true

    示例

    引擎.窗口.包裹窗口.角色包裹.重置物品(1,1,"金创药小",5)
    

    整理物品

    整理物品
    说明:按照规则对包裹中的物品进行排序。
    参数名称值的类型是否必填说明描述
    排序规则 table {}false传递一个属性名称数组,系统按照成员顺序排序。缺省值:{"分类","子类","名称","数量"}

    示例

    系统事件 = {
        点击 = function(按钮对象)
            引擎.窗口.包裹窗口.角色包裹.整理物品({"分类","子类","名称","数量"}) -- 分类相同就按子类排 子类相同就按名称排 名称相同就按数量排
        end
    }
    

    添加节点

    添加节点
    说明:添加一个节点显示在每个格子上,默认不可见,配合显示节点使用。
    参数名称值的类型是否必填说明描述
    组件配置 tabletrue支持:精灵,矩形,动画。

    示例

    格子对象.添加节点({
      名称 = "战力加",
      类型 = "精灵",
      x = 26,
      y = 22,
      水平缩放 = 0.5,
      垂直缩放 = 0.5,
      图片 = "战力加",
    })
    

    显示节点

    显示节点
    说明:设定指定格子上的节点是否可见。
    参数名称值的类型是否必填说明描述
    行 整数true
    列 整数true
    节点名称 文本true
    是否可见 逻辑true

    示例

    系统事件 = {
      更新 = function(格子对象,行,列,道具对象) 
        if (道具对象 and 道具对象.子类 == "戒指") then
          格子对象.显示节点(行,列,"红点动画",true)
        else
          格子对象.显示节点(行,列,"红点动画",false)
        end
      end
    }
    

    系统事件

    🔹 创建

    创建时触发

    回调参数类型说明描述
    格子对象 包裹格子

    示例

    系统事件 = {
        创建 = function(格子对象)
            调试输出(格子对象.名称)
        end
    }
    

    🔹 新增

    • 包裹中有新物品进入时候触发
    回调参数类型说明描述
    格子对象 包裹格子
    行 整数
    列 整数
    道具对象 道具对象 新进入的道具

    示例

    系统事件 = {
      新增 = function(格子对象,行,列,道具对象) 
        调试输出(行,列,道具对象.名称,道具对象.数量)
      end
    }
    

    🔹 更新

    • 包裹中有物品进入,离开时触发
    回调参数类型说明描述
    格子对象 包裹格子
    行 整数
    列 整数
    道具对象 道具对象/nil 离开时是nil

    示例

    系统事件 = {
      更新 = function(格子对象,行,列,道具对象) 
        调试输出("更新",行,列,道具对象)
      end
    }
    

    🔹 点击

    • 格子中有道具或者有道具放入时触发
    • 返回 false 可以拦截
    回调参数类型说明描述
    格子对象 包裹格子
    道具对象 道具对象 当前格子中的道具
    来源道具 道具对象 将要放入的道具
    来源格子 格子对象 道具从哪个格子控件中来
    功能键 整数点击时是否按住了功能键 1:Ctrl 2:Shift 3:Alt

    示例

    系统事件 = {
      点击 = function (包裹对象,道具对象,来源道具)
    
        if (道具对象 == nil) then	
          调试输出("放下",来源道具.名称)
    
        elseif (来源道具 == nil) then	
          调试输出("拿起",道具对象.名称)
    
        else
    
          调试输出("交换",道具对象.名称,来源道具.名称)
    
          if (来源道具.名称 == "宝石") then
            来源道具.数量 = 来源道具.数量 - 1
    
            道具对象.攻击 = 道具对象.攻击 + 1
            道具对象.气泡提示 = "被强化的道具"
            return false
          end
          
        end
    
        return true
    
      end
    }
    
    Prev
    快捷格子
    Next
    道具格子