krkr2 中文文档 下载 App

项目目录结构与文件组织

最小可运行项目

一个能跑起来的吉里吉里2 项目,最少只需要:

MyGame/
├── krkr.eXe              ← 引擎本体
├── krdevui.dll           ← 调试 DLL
├── base/                 ← KAG 系统目录(从 SDK 拷贝)
│   ├── kag/              ← KAG 脚本引擎核心
│   ├── startup.tjs       ← 启动脚本
│   └── ...
└── data/                 ← 你的游戏资源
    └── startup.tjs       ← 项目入口脚本

把 krkr.eXe 和一个名为 data 的目录放在一起,data 里有 startup.tjs,就能直接双击 exe 启动。但项目目录不要命名为 data(分发时可能与引擎内置的 data 目录冲突)。

推荐的项目目录布局

实际开发时建议这样组织:

MyGame/
├── krkr.eXe
├── krdevui.dll
├── base/                    ← KAG 系统文件(SDK 原样拷贝)
├── plugins/                 ← 第三方插件目录
│   ├── live2d.tpm
│   └── ...
├── scenario/                ← KAG scenario 脚本
│   ├── 01-prologue.ks
│   ├── 02-common.ks
│   └── main.ks              ← KAG 通常从 main.ks 开始
├── script/                  ← TJS2 自定义脚本
│   ├── GameManager.tjs
│   └── SaveLoad.tjs
├── image/                   ← 图片素材
│   ├── bg/                  ← 背景
│   ├── fg/                  ← 立绘
│   ├── chara/               ← 角色立绘
│   └── ui/                  ← UI 界面
├── sound/                   ← 音频素材
│   ├── bgm/
│   ├── se/
│   └── voice/
├── movie/                   ← 视频
├── data/                    ← XP3 打包前的资源
│   └── startup.tjs          ← 入口脚本
└── releaser/                ← 打包工具(SDK 自带)

文件命名约定

命名风格建议用英文或日文拼音,避免中文文件名在某些打包后出现问题。

入口脚本 startup.tjs 写什么

项目根目录(或 XP3 包内)的 startup.tjs 是引擎启动时执行的第一个文件。最简形式:

// 初始化 KAG
var kag = KAG.manager;
// 从 scenario/main.ks 开始运行
kag.start("scenario/main.ks");

这就够了。复杂项目可能还会在这里初始化全局变量、加载存档、设置窗口标题等。

KAG scenario 的入口

KAG 脚本通常以 main.ks 为入口。在 main.ks 的开头一般会有:

; 加载公共定义
[kag load storage="scenario/00-header.ks"]

; 显示标题画面
[kag jump storage="scenario/01-title.ks"]

关于 data 和 content-data

引擎启动时会按优先级搜索项目目录:

  1. 命令行指定的路径
  2. 名为 data 的目录
  3. 名为 content-data 的目录
  4. 同目录下的 XP3 文件

所以如果你把资源包命名为 data.xp3,引擎会自动识别。这是吉里吉里社区的约定。

存档位置

默认存档保存在:

可以通过 TJS2 的 Storage 类自定义存档路径。