屏幕的大小和尺寸

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了屏幕的大小和尺寸相关的知识,希望对你有一定的参考价值。

Flame这个游戏开发框架是以Flutter为基础的,而Flutter在屏幕上绘制时使用逻辑像素,因此,我们在Flame上调整游戏对象的大小时也是使用逻辑像素。

实际上,游戏(Game)抽象类上有个调整(resize)方法,这个方法接受大小(Size)类参数,使用这个参数就可以确定设备的屏幕大小。

首先在box-game.dart文件中,添加一个BoxGame类的实例变量screenSize,这个变量用于保持屏幕的大小,只有当屏幕的大小发生变化时才会更新,它也是Flame在屏幕上绘制对象时的基础。screenSize是Size类型的变量,与传递给调整(resize)方法的参数一致。

类变量screenSize的初始值为null,可以用来判断渲染过程中是否已知屏幕大小。接下来,我们编写一个同名方法覆盖调整(resize)方法。

class BoxGame extends Game {
Size screenSize;

...

void resize(Size size) {
screenSize = size;
super.resize(size);
}
1
2
3
4
5
6
7
8
9
到这里为止,我们的box-game.dart里面应该有以下代码。

import ‘dart:ui‘;

import ‘package:flame/game.dart‘;

class BoxGame extends Game {
Size screenSize;

void render(Canvas canvas) {
// TODO: 实现渲染
}(http://www.amjmh.com/v/)

void update(double t) {
// TODO: 实现更新
}

void resize(Size size) {
screenSize = size;
super.resize(size);
}
}

以上是关于屏幕的大小和尺寸的主要内容,如果未能解决你的问题,请参考以下文章

如何调整html中的图像大小以适应屏幕尺寸?

调整按钮以适应不同的屏幕尺寸

Xcode Storyboard - 如何在不同的 iPhone 屏幕尺寸之间更改元素的字体大小和位置

根据屏幕尺寸调整图像大小?

如何在不同的屏幕尺寸和密度下保持 TextView 中的文本大小一致?

如何为不同的屏幕尺寸android studio自动调整imageview的大小?