Flame 中使用 GameWidget(完整使用手册)
Flame 中使用 GameWidget(完整使用手册)
本手册帮助你理解并掌握在 Flutter 中如何使用 Flame 的 GameWidget(游戏渲染与交互视图)。GameWidget 是 Flame 1.x 及之后版本的核心入口,用于将游戏嵌入 Flutter 界面中。
一、GameWidget 是什么?
| 概念 | 说明 |
|---|---|
| Game | 游戏逻辑核心类,负责渲染与更新循环(继承 FlameGame、Forge2DGame 等)。 |
| GameWidget | 将游戏实例嵌入 Flutter 界面的 Widget,相当于游戏的「画布」和交互容器。 |
| Forge2DGame | 基于物理引擎 Box2D 的 Flame 扩展,可直接用于 GameWidget。 |
✅ 注意:旧版本中的
GameView已废弃,请使用GameWidget。
GameWidget 提供渲染循环、输入响应、Overlay UI、生命周期等一站式集成。
二、基本用法示例
import 'package:flame/game.dart';
import 'package:flutter/material.dart';class MyGame extends FlameGame {void render(Canvas canvas) {super.render(canvas);// 绘制一个矩形示例canvas.drawRect(const Rect.fromLTWH(100, 100, 200, 200),Paint()..color = const Color(0xFF4CAF50),);}void update(double dt) {// 游戏逻辑,例如移动、碰撞检测}
}void main() {final myGame = MyGame(