# 2d Games

> 2D 游戏开发原则。Sprite（精灵）、Tilemap（瓦片地图）、物理、摄像机。

- Skill: `misonl/2d-games` (Agent Skill)
- Install (CLI): `npx skillmds@latest add misonl/2d-games`
- Raw SKILL.md: https://api.skillmd.com/api/skills/misonl/2d-games/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: misonl (https://skillmd.com/u/misonl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/misonl/2d-games

---


# 2D 游戏开发

> 2D 游戏系统的原则。

---

## 1. 精灵系统

### 精灵组织

| 组件 | 用途 |
|-----------|---------|
| **Atlas（图集）** | 合并贴图，减少绘制调用 |
| **Animation（动画）** | 帧序列 |
| **Pivot（枢轴）** | 旋转/缩放的原点 |
| **Layering（分层）** | Z 顺序控制 |

### 动画原则

- 帧率：常见 8-24 FPS
- 挤压与拉伸增强冲击感
- 动作前要有预备
- 动作后要有收势

---

## 2. 瓦片地图设计

### 瓦片要点

| 因素 | 建议 |
|--------|----------------|
| **尺寸** | 16x16、32x32、64x64 |
| **自动拼接（Auto-tiling）** | 用于地形 |
| **碰撞** | 使用简化形状 |

### 图层

| 图层 | 内容 |
|-------|---------|
| 背景 | 非交互场景 |
| 地形 | 可行走地面 |
| 物件 | 可交互对象 |
| 前景 | 视差覆盖 |

---

## 3. 2D 物理

### 碰撞形状

| 形状 | 使用场景 |
|-------|----------|
| Box | 矩形对象 |
| Circle | 球形、圆角 |
| Capsule | 角色 |
| Polygon | 复杂形状 |

### 物理要点

- 像素级碰撞 vs 物理驱动
- 固定时间步长保证一致性
- 使用分层过滤

---

## 4. 摄像机系统

### 摄像机类型

| 类型 | 用途 |
|------|-----|
| **Follow（跟随）** | 跟随玩家 |
| **Look-ahead（前瞻）** | 预判移动 |
| **Multi-target（多目标）** | 双人视角 |
| **Room-based（房间制）** | 类银河城 |

### 屏幕抖动

- 短时长（50-200ms）
- 强度递减
- 克制使用

---

## 5. 类型模式

### 平台跳跃（Platformer）

- Coyote time（离边宽容时间）
- 跳跃缓冲
- 可变跳跃高度

### 俯视角（Top-down）

- 8 方向或自由移动
- 目标锁定或自动瞄准
- 是否需要旋转

---

## 6. 反模式

| [FAIL]  不要做 | [OK]  推荐 |
|----------|-------|
| 分离贴图 | 使用图集 |
| 复杂碰撞形状 | 使用简化碰撞 |
| 抖动镜头 | 平滑跟随 |
| 物理与像素混用 | 选定一种方案 |

---

> **记住：** 2D 讲究清晰，每个像素都应传达信息。

