在pubspec.yaml下添加flame插件,並經過flutter packages get命令下載插件,或者使用Visual Studio Code保存文件會自動下載插件。框架
dependencies:
flutter:
sdk: flutter異步
cupertino_icons: ^0.1.2async
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裏面應該有如下代碼。ci
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);}