我已经将下面的组件添加到FlameGame
类中,每当我更改此组件时,我都必须热重启应用程序。是否有解决方法?
class SoldierSprite extends SpriteAnimationComponent {
@override
Future<void>? onLoad() async {
var miniSprites =
await TexturePackerLoader.fromJSONAtlas('mini.png', 'mini.json');
var miniSpriteComponent = SpriteComponent()
..sprite = miniSprites[4]
..size = Vector2(100, 200)
..position += Vector2(200, 200)
..angle = -95;
add(miniSpriteComponent);
return super.onLoad();
}
}
2条答案
按热度按时间x7rlezfr1#
热重新加载仅适用于小部件树中的更改。
由于您的游戏存在于
GameWidget
中,因此如果您在进行热加载时不更新GameWidget
中的key
,Flutter无法知道它已经更改。efzxgjgh2#
我也遇到过这个问题,并注意到当你把你的GameWidget Package 在一个非GameWidget中时,热重新加载**************************************************************************************************************************************************************************************************************************
其中
MyGame
为