Я разрабатываю 2D-портретную игру, используя Flutter и Flame. Как лучше всего работать с различными разрешениями экрана смартфона?
Сначала я создал камеру вот так:
CameraComponent.withFixedResolution(
width: 720.0,
height: 1600.0,
))
а затем я создал спрайты, придав им фиксированные размеры на основе разрешения 720x1600, но в некоторых смартфонах с другим разрешением есть черные полосы.
Я увидел, что можно создать камеру таким образом:
class MyGame extends FlameGame{
Future<void> onLoad() async {
camera = CameraComponent.withFixedResolution(
width: size.x,
height: size.y,
));
...
}
}
Таким образом, фон будет полноэкранным без черных полос, однако мне придется рассчитать размеры спрайтов, задав пропорции с помощью size.x и size.y.
Это правильное решение? Есть ли лучший способ сделать мою игру полноэкранной во всех разрешениях смартфона?
P.s. Я также установил это:
await Flame.device.setPortrait();
await Flame.device.fullScreen();
Спасибо





Вы используете этот пакет для лучшего способа?
flutter_screenutil: ^5.9.1
Как в этом примере:
Container(
width: 300.w,
height: 300.w,
),
Text(
'Test',
style: TextStyle(
color: Colors.black,
fontSize: 16.sp,
),
textScaleFactor: 1.0,
),