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

    • 更新日志
  • 指南

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

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

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

    • 文本
    • 艺术字
    • 精灵
    • 矩形
    • 圆形
  • 其他

    • 丰富文本
    • 模板变量
    • 游戏盒子

引擎

属性

系统信息

  • 类型:table
  • 读写:读写
  • 详情:当前系统信息。
名称类型说明
屏幕宽度数值
屏幕高度数值
屏幕坐标x数值鼠标指针当前屏幕坐标x
屏幕坐标y数值鼠标指针当前屏幕坐标y
运行时间整数本次游戏启动后运行的时长,单位:毫秒
调试输出(引擎.系统信息)

地图

  • 类型:地图对象
  • 读写:只读
  • 详情:地图是常用组件,你可以在脚本中使用 引擎.地图 获得当前的地图对象

方法

屏幕提示

说明:在屏幕上显示一个提示。
参数名称值的类型是否必填说明描述
内容 文本true支持丰富文本
属性表 tablefalse
参数名称值的类型是否必填说明描述
x 整数false显示坐标x
y 整数false显示坐标y
字体 文本false资源标识
间距 整数false
行距 整数false
文本色 RGBAfalse
描边色 RGBAfalse
对齐方式 整数false0 左对齐 1 居中对齐 2 右对齐
弹簧效果 逻辑false是否使用弹簧动效
分组 文本false不同分组的提示会显示在一起
停留时间 整数false单位:毫秒 默认:1000
目标对象 对象false显示在哪? 如果不填表示屏幕最顶层

示例

引擎.屏幕提示("#Y游戏开始了",{弹簧效果=true, 字体="宋体12"}) 
引擎.屏幕提示("+123",{分组 = "法力恢复", x = 740,y = 652, 字体="宋体12",间距=2, 行距=6, 对齐方式=1}) 
引擎.屏幕提示("+123",{分组 = "生命恢复", x = 280,y = 652, 字体="宋体12",间距=2, 行距=6, 对齐方式=1}) 

注意事项
1、缺省显示位置为屏幕中心。
2、如果绑定目标对象,坐标是以目标的坐标点相对偏移。

弹出文字

说明:弹出一个动感艺术字。
参数名称值的类型是否必填说明描述
x 整数truex坐标偏移
y 整数truey坐标偏移
内容 文本true
艺术字 文本true资源标识
目标对象 对象false显示在哪? 如果不填表示屏幕最顶层
属性表 tablefalse
参数名称值的类型是否必填说明描述
颜色 RGBAfalse
间距 整数false
缩放 数值false缩放比例
动效 整数false0-3 内置4种模式
延迟 整数false延迟时间

示例

引擎.弹出文字(512,300,tostring(math.random(111,999)) ,"艺术字1");
引擎.弹出文字(0,-70,tostring(math.random(111,999)) ,"艺术字1",引擎.地图.主角,{颜色=RGBA(0,255,0,255),动效=3});

注意事项
1、如果绑定目标对象,坐标是以目标的坐标点相对偏移。

转场动画

说明:显示一个转场过渡效果。
参数名称值的类型是否必填说明描述
花费时间 整数true 多少毫秒内完成
转场效果 整数false 缺省值:1
  • 0 圆形过渡
  • 1 淡入淡出
  • 2 横向擦除
  • 3 菱形过渡
  • 4 随机像素溶解
回调函数 functionfalse 转场后触发函数
地图转场 逻辑false是否只针对地图场景转场 默认:false

示例

引擎.转场动画(1000,0) 

播放特效

说明:在指定位置播放一个特效。
参数名称值的类型是否必填说明描述
x 整数truex坐标偏移
y 整数truey坐标偏移
特效配置 table {}true
特效类型例子说明描述
音效 {延迟=200,音效={"雷电术_结束"}}在音效数组里面随机选一个播放
动画 {延迟=200,动画="雷电术,命中,0.5"},动画写法:动画,动作,缩放,速度,位置
破碎 {延迟=200,破碎={图片="半兽人",数量= 20,缩放= 0.8,力量 = 1.6,效果=1}},
名称类型说明描述
效果 整数0:向上抛出 1:中心炸开 2:角度冲击
数量 整数碎片数量 默认:20
缩放 小数缩放比例 默认:0.8
力量 小数破碎爆出力度 范围:0.3-2.0 默认:0.6
地平线 数值效果1时有效,设置碎片落地的y轴坐标
地平线偏移 数值效果1时有效,碎片落地的y坐标是否具有随机性
发力点x 数值效果2时有效,设置发力点坐标
发力点y 数值效果2时有效,设置发力点坐标
同步消失 逻辑是否全部碎片都停止后才开始消失 默认:false
在目标点产生随机撕裂图片效果
抖动 {延迟=0,抖动={时间=2000,幅度=10,对象=引擎.窗口.底部UI.动画框1}},
名称类型说明描述
对象 组件对象要被抖动的对象
时间 整数持续时间 单位:毫秒
幅度 整数抖动幅度
指定对象发生抖动效果
闪电链
名称类型说明描述
起点x 数值起点坐标
起点y 数值
终点x 数值终点坐标
终点y 数值
持续时间 整数单位:毫秒 默认:1000
节点数量 整数默认:30
宽度 数值默认:2.5
颜色 RGBA默认:RGBA(100, 180, 255,255)
光晕色 RGBA默认:RGBA(100, 180, 255,80)
渐入 整数默认:200
渐出 整数默认:200
末端变细 逻辑
在两点之间产生闪电链效果
图层
  • 目标为角色时: 0身后 1身前  默认:1
  • 目标为地图时: 0地表 1顶层  默认:1
动画时有效
目标对象 对象false显示在哪? 如果不填表示屏幕最顶层

示例

引擎.播放特效(512,100,{{延迟=200,音效={"雷电术_结束"}},{延迟=200,动画="雷电术,命中"}}) 
引擎.播放特效(200,200,{{延迟=200,音效={"雷电术_结束"}},{延迟=200,动画="雷电术,命中"}},引擎.窗口.技能窗口)
引擎.播放特效(0,0,{{延迟=200,音效={"升级光"}},{延迟=200,动画="__测试动画_,升级地,1,1",图层=0}},引擎.地图.主角)
引擎.播放特效(0,0,{{延迟=0,抖动={时间=2000,幅度=10,对象=引擎.窗口.底部UI.动画框1}}}) 

引擎.播放特效(200,200,
{
  {延迟=0,闪电链={起点x = 50,起点y = 50,终点x = 250,终点y = 50,持续时间 = 2000,宽度 = 1,颜色 = RGBA(240, 240, 240,255),
  光晕色 = RGBA(0, 0,255,255),渐入 = 100,渐出 = 100,节点数量 = 16,末端变细 = false}},
},按钮对象.父窗口)

{
  名称 = "测试按钮",
  类型 = "按钮",
  x = 40,
  y = 550,
  宽度 = 80,
  高度 = 40,
  标题 = "测试",
  系统事件 = {
    点击 = function(按钮对象)
      引擎.播放特效(400,300,{
        {	
          延迟=0,
          破碎={
            图片="牌背面",
            数量=20,
            缩放=0.8,
            力量 = 1.6,
            效果=2,
            发力点x = 300,  -- 从坐标300,300位置产生力量撕碎图片抛出。
            发力点y = 300,
          }
        }
      }) 
    end
  }
},

注意事项
1、如果绑定目标对象,坐标是以目标的坐标点相对偏移。

信息框

说明:在屏幕上弹出一个信息框。
参数名称值的类型是否必填说明描述
内容 文本true支持丰富文本
按钮类型 整数true0 确定 1 确定取消

示例

if (引擎.信息框("确定要退出游戏吗?",1)) then 
    if(not 引擎.信息框("#Y你真的要退出?",1)) then
        引擎.信息框("#H你还是放弃了")
    end
end
返回值值的类型说明描述
是否确定 逻辑确定返回true 取消返回false

注意事项
1、同步模式,信息框返回结果后才会继续执行后面逻辑。

对话

说明:在屏幕上弹出一个对话框。
  • 对话窗口使用App.lua中 对话框 皮肤。
  • 对话链接触发的是当前对象中的 系统事件中的同名事件, 链接名称为 exit时,点击后关闭对话框。
  • 事件函数返回值为逻辑型 true 时,表示关闭对话窗口。
  • 事件函数返回值为文本型,表示更新当前对话窗口内容。
参数名称值的类型是否必填说明描述
x 整数true对话窗口坐标x
y 整数true对话窗口坐标y
标题 文本true对话窗口有标题时有效
内容 文本true对话框中的内容,支持丰富文本
数据源 tablefalse

示例

{

  名称 = "测试按钮",
  类型 = "按钮",
  宽度 = 80,
  高度 = 30,
  标题 = "测试对话",
  x = 692,
  y = 41,
  系统事件 = {

    点击 = function(按钮对象)

      引擎.对话(0,0,"",
      [[
      你要干什么?
      
      #Y#@查金币@我还有多少金币?@  
      
      #Y#@exit@没事@
          
      ]]) 

    end,

    查金币 = function ()
      return 
      [[
      你现在的金币数量:#Y999

      #Y#@退出@谢谢你@
      ]]
    end,

    退出 = function ()
      return true
    end,
  }
}

注意事项
1、同步模式,信息框返回结果后才会继续执行后面逻辑。

增加物品

说明:增加物品道具到包裹格子中。
参数名称值的类型是否必填说明描述
道具名称 文本true
数量 整数false
附加 tablefalse如果填写会传递到道具的 创建 事件中

示例

引擎.增加物品("八荒刀",1,{攻击=20})
引擎.增加物品("粗布衣",1,{给白装=true})
引擎.增加物品("金创药小",6)
引擎.增加物品("魔法药小",6)
引擎.增加物品("金创药中",6)
引擎.增加物品("魔法药中",26)
引擎.增加物品("雷电术")

注意事项
1、可以用 引擎.取包裹空位() 进行前置判断。

取包裹空位

说明:取所有包裹类控件剩余的空位数量。
参数名称值的类型是否必填说明描述
包裹名称 文本falsenil表示取所有包裹空位

示例

local 剩余空位 = 引擎.取包裹空位()
调试输出(剩余空位)
返回值值的类型说明描述
数量 整数

取物品数量

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

示例

local 物品数量 = 引擎.取物品数量("金创药小")
调试输出(物品数量)
返回值值的类型说明描述
数量 整数

减少物品

说明:从包裹格子里面减少物品。
参数名称值的类型是否必填说明描述
道具名称 文本true
数量 整数true

示例

引擎.减少物品("金创药小",2)

注意事项
1、可以用 引擎.取物品数量() 进行前置判断。

创建缓动

说明:创建一个缓动对象。

参数名称值的类型是否必填说明描述
自动销毁 逻辑false默认:true

示例

引擎.创建缓动()
.by(按钮对象.父窗口.地图按钮,{y=-100,x=100},500)
.by(按钮对象.父窗口.地图按钮,{y=100,x=-100},500)
返回值值的类型说明描述
对象 缓动对象支持链式调用

存档

说明:存档。
参数名称值的类型是否必填说明描述
存档文件名 文本true存档保存的位置
附加 tablefalse需要保存的自定义数据
密钥 文本false不填表示不加密

示例

local 结果 = 引擎.存档("save.dat",{金币=20,技能点=30},"ttttt")
调试输出(结果)
返回值值的类型说明描述
成功 逻辑成功返回true

提示

默认存读档的内容:包裹格子,道具格子,技能格子,快捷格子,主角所在的地图,位置,方向,等级,经验。

读档

说明:读档。
参数名称值的类型是否必填说明描述
存档文件名 文本true存档保存的位置
密钥 文本false不填表示不加密

示例

local 附加 = 引擎.读档("save.dat","ttttt")
调试输出("读档",附加)
返回值值的类型说明描述
附加 table/nil读档成功返回存档时传递进去的数据,失败返回nil

加入事件

加入事件
说明:往游戏主循环中加入一个自定义事件。
参数名称值的类型是否必填说明描述
事件名称 文本true触发的事件名称
附加信息 tablefalse事件触发时可以取出
延迟时间 数值false延迟执行
自动销毁 逻辑false是否只执行一次,默认:true

示例

系统事件 = {

  游戏开始 = function()
    引擎.加入事件("系统时钟",{},1000,false)
  end,

  系统时钟 = function (tbl,dt,time)
    调试输出(dt,time)
  end,

}

删除事件

删除事件
说明:删除指定自定义事件。
参数名称值的类型是否必填说明描述
事件名称 文本true

示例

系统事件 = {

    游戏开始 = function()
       引擎.加入事件("系统时钟",{},1000,false)
    end,

    系统时钟 = function (tbl,dt,time)
      调试输出(dt,time)
      引擎.删除事件("系统时钟")
    end,

}
Next
地图