World of FluxCraft:构建完整应用的技术剖析
1. 玩家移动序列示例
当玩家想要移动到新的地图位置时,整个系统的信息流动如下:
1. 用户按下合法移动的箭头键。
2. Flux UI 对按键做出反应,修改本地地图存储,并相应地渲染组件。
3. JavaScript 将移动命令的 JSON 负载发送到本地 /api/moves URL。
4. UI 主机服务将该负载转发到命令处理器服务。
5. 命令处理器从传入的命令生成一个事件,并将其分派到队列。
6. 事件处理器从队列中获取事件并执行必要的处理:
- 事件被写入事件存储。
- (如果适用)向实时消息系统发送通知。
- 计算新的游戏状态,并作为更新提交到现实服务器。
下面是这个流程的 mermaid 流程图:
graph LR
A[用户按箭头键] --> B[Flux UI 修改本地地图存储并渲染组件]
B --> C[JavaScript 发送 JSON 负载到 /api/moves]
C --> D[UI 主机服务转发负载到命令处理器服务]
D --> E[命令处理器生成事件并分派到队列]
E --> F[事件处理器从队列获取事件]
F --> F1[写入事件存储]
F --> F2[发送通知到实时消息系统]
F --> F3[计算新游戏状态并提交到现实服务器]