flutter 摇曳的火焰和篝火:无法将"“的示例添加到”BonfireGame“的示例,因为它已具有父级:'BonfireGame'的示例

kninwzqo  于 2023-01-02  发布在  Flutter
关注(0)|答案(1)|浏览(132)

我希望有人可以帮助我得到以下错误

[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: Cannot find reference BonfireGameInterface in the component tree
#0      BonfireHasGameRef.gameRef (package:bonfire/util/bonfire_game_ref.dart:21:7)

Instance of 'TurnManager' cannot be added to Instance of 'BonfireGame' because it already has a
parent: Instance of 'BonfireGame'

我目前使用flutter火焰引擎和篝火。篝火游戏嵌入在火焰游戏中。本质上,当精灵组件接触到敌人组件时,我使用gameRef.overlays.add()显示篝火游戏。当游戏完成时,我使用gameref。overlays。remove()删除篝火游戏。问题是下一次播放组件接触敌人组件时,我会得到上面的错误。任何帮助都将不胜感激。

kqlmhetl

kqlmhetl1#

当你的篝火游戏通过覆盖显示时,似乎会执行一些代码,试图将TurnManager添加到篝火游戏中。在第一次显示时,这工作正常,但在随后的显示中,由于TurnManager已经是篝火游戏的子游戏,试图重新添加它会导致问题。
当篝火游戏从重叠中移除时,它会进入分离状态,但它的所有子游戏仍然连接到它。要解决这个问题,您只需检查所讨论的TurnManager是否已经添加。如果已经添加,则跳过add调用。

相关问题