问题描述
我有一个主页视图,在此主页视图中,我放置了主页图片,开始和设置按钮。
当我在第一个窗口中运行游戏时,首页图片显示较小,按钮未显示。
但是,如果我在模拟器中单击重新启动,则一切看起来都正常且大小合适。在真实的android设备首页中,图片总是较小,并且按钮未显示。
Util flameUtil = Util();
await flameUtil.fullScreen();
await flameUtil.setLandscapeLeftOnly();
我只想只留风景。
void resize(Size size) {
screenSize = size;
tileSize = screenSize.width / 9;}
这是我的调整大小方法。
titleRect = Rect.fromLTWH(0,game.tileSize*10,game.tileSize*5);
titleSprite = Sprite('uipics/homepage.png');
我的主页图片
rect = Rect.fromLTWH(game.tileSize*5,(game.screenSize.height) - (game.tileSize*1.5),game.tileSize*0.9,game.tileSize*0.8);
sprite = Sprite('uipics/playbutton.png');
我的开始(播放)按钮。
rect = Rect.fromLTWH(game.tileSize*7.2,game.screenSize.height - (game.tileSize *1.5),game.tileSize*0.8);
我的设置按钮。
正如我提到的,如果我在IDE(vsc)中单击重新启动,一切都会自动修复,并且我可以毫无问题地玩游戏。但是在第一次运行时以及在android设备中都是有问题的。我曾尝试更改尺寸和位置,但从未成功。谢谢您的提前帮助。
解决方法
您必须先运行await flameUtil.fullScreen();
和setLandscapeLeftOnly();
,然后再执行runApp
,如下所示:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
SharedPreferences storage = await SharedPreferences.getInstance();
await Flame.util.fullScreen();
await Flame.util.setLandscapeLeftOnly();
TheGame game = TheGame(storage);
runApp(game.widget);
}