关于Flame Engine的两个问题

Two questions about Flame Engine

我有一些问题。我正在研究在 Expanded Widget 中使用 Flame Engine 作为更大应用程序的一部分的应用程序。所以 Flame 仅用作按钮的图形表示和交互。

现在,理论上:

  1. 是否可以将变量值从 flame 发送到我的应用程序中的常规文本小部件? (我知道我可以读取初始值 0,但即使控制台显示递增值也没有任何反应)我应该在主应用程序中为 Flame 和 future 编写某种流,还是有其他选择?
  2. 如何在 Flame 中管理视图?我的意思是目前我有两个不同的背景和不同的动画。在 flutter 主应用程序的屏幕底部,我有一些按钮,我想根据需要使用这些按钮来更改火焰背景和动画(从火焰到我的按钮的简单响应)

至于代码,我在应用程序中的计数器如下所示:

...
Column(
   children: [
     Text('show 1'),
     Text(_firstCounter.toString())
   ],
),
...
void CountersAndOthers() async {
  if(_gameInProgress == true){ return; }
  _gameInProgress = true;

  _testGame = new TestGame();
  _firstCounter = _testGame.counterNumeroUno;
}

在 Flame 中,它是一个简单的 onTap() 函数,可以增加 int 计数器:

@override
void onTap() async {
  counter++;
  print(counter);
  jump();
  _timer.start();
}
  1. 在不使用任何状态管理库的情况下,您可以将小部件的回调函数传递给扩展的 Flame 游戏 class 并在 Flame [=10] 时通过它更新小部件的状态=] 被调用。

  2. 这是相反的方式,将您的游戏 class 传递给导航按钮并调用您在 flame 游戏中创建的函数,该函数将对您的按钮按下做出反应。

根据您的应用程序的结构,还有多种方法可以执行此操作。