遊戲引擎並非神秘黑盒,其核心模組可對應電影拍攝流程。本文以 J2ME (CLDC/MIDP) 為背景,將引擎拆解為腳本系統、場景控制器、場景管理器、渲染器、地圖系統、NPC/AI、事件處理七大模組,並說明資源管理、幀循環、跨層協作的關鍵設計要點。
| 電影角色/物品 | 引擎模組 | 核心職責 |
|---|---|---|
| 劇本 | 腳本系統 | 關卡邏輯、觸發條件、劇情分支、過關判定 |
| 導演 | 場景控制器 | 遊戲狀態機、幀循環調度、模組協同、暫停/繼續 |
| 劇務 | 場景管理器 | 資源載入/卸載、記憶體池、引用計數、異步預載 |
| 攝影機/鏡頭 | Camera + Renderer | 視口裁剪、矩陣變換、精靈/網格繪製、Z-Order |
| 場景/布景 | 地圖系統 | 瓦片地圖、碰撞層、觸發區、動態物件掛載點 |
| 群眾演員 | NPC/AI 系統 | 行為樹/狀態機、巡邏/追擊/對話、屬性數值 |
| 外部事件(天氣/道具) | 事件處理模組 | 鍵盤/觸控/來電/中斷/定時器 → 導演分發 |
onPositionChanged),解耦具體實現。// 幀循環範本
public void run() {
while (running) {
long start = System.currentTimeMillis();
director.update(deltaTime); // 邏輯更新
renderer.render(g); // 繪製
flushGraphics();
sleep(max(0, 16 - (System.currentTimeMillis() - start))); // ~60 FPS
}
}