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

    • 更新日志
  • 指南

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

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

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

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

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

    • 战斗血液效果
    • 地图天气
  • 快速上手

    介绍

    Dream Mod 3.0 是一个完整的即时战斗游戏框架,使用语言 Lua 5.4。目标是不写一行脚本,全AI自动化实现一个游戏。

    安装

    依赖环境

    • Windows 64位系统
    • 无需安装,解压即用,推荐使用Trae IDE或者[Visual Studio Code + Trae插件]搭配使用。

    目录结构

    一个完整的引擎目录应该是这样的

    ├─ Dat
    │  └─ Game.lib
    └─ App.exe
    

    创建项目

    通过命令行创建,引擎会在当前目录下生成一个项目文件夹 game,其中包含引擎入口文件 App.lua。

    ./App.exe -n app1 game
    

    提示

    app1是一个在线工程模板标识,你可以在资源库中获取更多模板。

    启动项目

    通过命令行启动,默认会自动打开Windows控制台窗口。缺省情况下,双击启动App.exe,系统会启动当前目录下名称为game的项目。

    ./App.exe -g game
    

    编译项目

    通过命令行编译,系统在工程目录下生成Build文件夹,项目被编译打包为 game.dat 我的游戏.exe。

    ./App.exe -b game
    

    命令行

    命令说明例子
    -n从在线资源库或者本地(.pro)工程模板,创建一个新的工程项目 -n 模板标识 项目名称./App.exe -n app1 game
    ./App.exe -n 项目1.pro game
    -g调试运行指定项目 -g 项目名称 可传递命令行参数到 启动 事件中./App.exe -g game
    ./App.exe -g game 包子 面条
    -s启动服务端,详见 Server.lua./App.exe -s game
    -b本地编译,打包发布
    单机模式:-b 项目名称 默认游戏资源会合并到一起,如果不合并后面加 nopak
    微端模式:配合游戏盒子发布到线上,要填写作者后台分配的appkey
    单机:./App.exe -b game
    单机(不合并资源):./App.exe -b game nopak
    微端:./App.exe -b game appkey
    -p从指定项目创建工程模板,生成格式为(.pro) -p 项目名称./App.exe -p game
    -c启动已经打包后的游戏 -c game.dat 可传递命令行参数到启动中./App.exe -c game.dat
    start App.exe -c Dat\\MapEditer.dat
    -f生成像素字体 -f 字体 字宽 字高 行距 粗细 平滑系数
    需要使用等宽字体
    例: ./App.exe -f 宋体 6 12 0 400 0
    字宽:像素单位。通常字宽是字高的一半。
    粗细:400:正常 700:粗体
    平滑系数:0 2 4 8 越大越平滑
    -u将指定文件转换为GBK或者UTF8编码 -u 文件名 gbk/utf8./App.exe -u Res/map/1.json gbk
    -y裁剪指定目录下的所有图片(png,tga)到最小有效区域,生成偏移文件x.txt -y 待裁剪目录 保存目录
    如果不指定保存目录则会在待裁剪目录下创建裁剪后文件夹,支持子目录自动合并。
    ./App.exe -y F:/待处理/npc1/idle/
    -z压缩指定目录下的资源(jpg,png,json) -z 待处理目录 是否删除源文件 删除填1
    默认不删除源文件,自动处理子目录。
    ./App.exe -z F:/待处理/
    ./App.exe -z F:/待处理/ 1

    提示

    -n 命令行中模板标识如果有.pro后缀名表示从本地创建,没有表示从资源库创建。
    如果你通过批处理运行命令,可能需要把文件编码改成 ANSI。

    创建第一个项目

    步骤

    • 下载安装 TRAE IDE
    • 下载解压缩引擎,例如:E:\DM3,进入文件夹后,鼠标右键菜单选择 [通过trae 打开]
    • 在底部 终端 使用 命令创建工程 ./App.exe -n app1 game
    • 使用命令启动工程 ./App.exe -g game

    使用自定义素材

    • 在入口文件App.lua中,在每个组件中都有一个叫 资源表 配置项,这是一个全局的配置项,配置一处所有地方可用。
    • 本地资源统一放在DM3引擎同级Res目录下,注意不是工程目录。
    • dmstore_开头的表示这是个在线DM资源库的素材,游戏启动后会从网络下载回来统一存放到\Res\dmstore目录缓存。
    • 引擎各个配置项中需要使用资源的地方,填写标识,而不是文件地址。
    资源表 = {
        {标识="宋体12",文件="dmstore_FKY6DW8ChsKAMKB4KB4A"},
        {标识="宋体14粗",文件="dmstore_FCheCZQD36JlWKZCKKCA"},
        {标识="默认皮肤",文件="dmstore_JCjaDfOCjWDNADOuECMA"},
        {标识="格子动画包",文件="格子动画包/格子动画包.json"},
        {标识="极品背景1",文件="极品背景/极品背景1.png"},
        {标识="极品背景2",文件="极品背景/极品背景2.png"},
        {标识="极品背景3",文件="极品背景/极品背景3.png"},
        ...
        ...
    }
    

    资源表 与 直接路径 区别

    • 资源表中的文件:引擎自动在路径前补Res/,填写时无需写 Res/ 前缀。例如 文件="地图/1.png" 实际加载的是 Res/地图/1.png。
    • 直接属性引用:不经过资源表,直接在控件/节点的图片或动画属性中写文件路径时,引擎不会自动补Res/前缀,必须手动写完整路径(如 图片="Res/地图/1.png")。
    • 适用场景:直接路径引用方便动态加载(如地图编辑器、资源查看器等工具类项目),正式游戏项目仍推荐用资源表统一管理。

    调试

    • 游戏中按下F12会显示内置的系统信息窗口,方便观察地图状态,鼠标坐标点等。
    • 使用 全局方法 调试输出 在控制台中打印调试信息。
    Next
    App.lua