# <%= appName %>

这是一个基于 Phaser、Vite 和 TypeScript 的 2D 游戏项目，由扣子编程 CLI 创建。

## 快速开始

```bash
coze-dev dev
```

开发服务器默认运行在 [http://127.0.0.1:<%= port %>](http://127.0.0.1:<%= port %>)。

```bash
coze-dev validate  # TypeScript 类型检查
coze-dev build     # 生产构建
coze-dev start     # 预览生产构建
```

## 文件结构

```text
├── assets/                     # 图片、序列帧、视频和音频
├── debug-runtime/              # 调试 Flow
├── src/assets.ts               # 素材 key 与路径
├── src/main.ts                 # 游戏入口
├── src/scene/BootScene.ts      # 启动与全量加载
├── src/utils/asset-loader.ts   # 批量和单素材加载
├── src/types.ts                # 类型定义
└── vite.config.ts              # Bridge 注入与素材目录映射
```

- 素材按类型放在 `assets/`，并登记到 `src/assets.ts` 对应的分类表。
- 序列帧只登记文件夹；Loader 从 `manifest.json` 读取帧数和帧率。
- `BootScene` 加载游戏素材；运行时可用 `loadAsset(this, key)` 单独加载。
- 开发和生产都使用稳定的 `assets/...` 路径，生产构建原样复制素材目录。

`IMAGES`、`IMAGE_SEQUENCES`、`VIDEOS` 和 `AUDIOS` 是四个素材分类表。

## 可视化编辑标识

用 `markEditable` 标记可在编辑器中调整的对象；第三个参数可选，仅用于编辑器展示名称：

```ts
markEditable('ui.start-button', button, { label: '开始按钮' });
```
