• 屏幕的大小和尺寸


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

  • 相关阅读:
    OC NSSet
    iOS 杂笔-23(区分各种空值)
    OC NSNumber NSValue
    OC NSArray 数组
    OC NSString(字符串)
    OC 内存管理
    OC 动态类型,动态绑定,动态加载
    OC 多态
    微信小程序开发5-WXML
    微信小程序开发4-JSON
  • 原文地址:https://www.cnblogs.com/ly570/p/11488508.html
Copyright © 2020-2023  润新知