我正在尝试直接在我的颤振网站中嵌入一个使用火焰引擎的小游戏。
我设法创建了一个包含以下内容的容器GameWidget
:
class gameContainer extends StatelessWidget {
const gameContainer({Key? key, required this.width}) : super(key: key);
final double width;
@override
Widget build(BuildContext context) {
return Container(
width: width,
height: 100,
padding: EdgeInsets.symmetric(horizontal: 40, vertical: 10),
child: GameWidget(game: game()),
);
}
}
我让游戏运行,在屏幕上显示一个玩家并移动。
我的宽度是动态的我希望能够调整屏幕和 GameViewport 的大小来调整自己的大小。问题是当屏幕自行调整大小时,整个游戏都会重置。onGameResize 和 onLoad 都被调用:最终结果我失去了我的玩家位置。
它尝试覆盖 onGameResize 以在 Game 类中调整大小之前获取玩家位置,但在调用它时玩家位置已经设置为 [0,0]。
我看过几个教程,但我不知道如何绕过这个问题。
从这里去哪里的任何想法。