我希望有人可以帮助我得到以下错误
[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()删除篝火游戏。问题是下一次播放组件接触敌人组件时,我会得到上面的错误。任何帮助都将不胜感激。
1条答案
按热度按时间kqlmhetl1#
当你的篝火游戏通过覆盖显示时,似乎会执行一些代码,试图将
TurnManager
添加到篝火游戏中。在第一次显示时,这工作正常,但在随后的显示中,由于TurnManager
已经是篝火游戏的子游戏,试图重新添加它会导致问题。当篝火游戏从重叠中移除时,它会进入分离状态,但它的所有子游戏仍然连接到它。要解决这个问题,您只需检查所讨论的
TurnManager
是否已经添加。如果已经添加,则跳过add调用。