使用Flame插件

在pubspec.yaml下添加flame插件,并通过flutter packages get命令下载插件,或者使用Visual Studio Code保存文件会自动下载插件。

dependencies:
flutter:
sdk: flutter

cupertino_icons: ^0.1.2

flame: ^0.13.0
1
2
3
4
5
6
7
Flame插件已经提供了一个完整的游戏开发框架,所以我们只需要专心编写实际的更新和渲染过程。首先,需要将应用程序转化为游戏模式,要做两个操作:全屏和纵向。而令人感到巴适的是,Flame插件已经封装好了这些实用的功能,我们只需要编写调用代码就可以了。

我们先在main.dart的顶部添加以下引用。

import 'package:flame/util.dart';
import 'package:flutter/services.dart';
1
2
然后在main.dart的main函数内部创建Flame的Util类的实例,调用其实例的全屏(fullScreen)和设置方向(setOrientation)函数,同时要注意,因为这些函数的返回值类型是未来(Future),所以要在这些函数前面添加等待(await)。

未来(Future)、异步(async)和等待(await)是一种特殊的编码方法,它让那些需要长时间才能处理完成的代码在不同的线程上完成,而且不会阻塞主线程。

为了能够等待(await)未来(Future)处理完成,相关的代码必须在异步(async)函数内,所以我们必须修改main函数,使它成为一个异步函数。

void main() async {
Util flameUtil = Util();
await flameUtil.fullScreen(http://www.amjmh.com/v/BIBRGZ_558768/);
await flameUtil.setOrientation(DeviceOrientation.portraitUp);
1
2
3
4
到这里为止,我们的main.dart里面应该有以下代码。

import 'package:flutter/material.dart';

import 'package:flame/util.dart';
import 'package:flutter/services.dart';

void main() async {
Util flameUtil = Util();
await flameUtil.fullScreen();
await flameUtil.setOrientation(DeviceOrientation.portraitUp);
}

posted @ 2019-09-08 21:08  水至清明  阅读(653)  评论(0编辑  收藏  举报