码迷,mamicode.com
首页 > 其他好文 > 详细

屏幕的大小和尺寸

时间:2019-09-08 22:00:45      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:同名   screen   调整   设备   接受   http   初始   can   像素   

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);
}
}

屏幕的大小和尺寸

标签:同名   screen   调整   设备   接受   http   初始   can   像素   

原文地址:https://www.cnblogs.com/ly570/p/11488508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!