火焰游戏停止运行时,我改变屏幕



我使用Flutter+Flame+Forge2d创建了一个模拟。当我切换到另一个屏幕时,模拟会停止,只有当我返回时才会继续。当我用MacBook Air向右滑动,以便在模拟运行时使用另一个程序时,就会发生这种情况。这只发生在Chrome网页,而不是macOS桌面。

是否有办法保持程序运行,即使它目前没有显示在显示器上?

//Here is a code to reproduce the issue
import 'package:flame/game.dart';
import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/material.dart';
import 'package:flame/components.dart';
void main() {
runApp(GameWidget(game: Game()));
}
class Game extends Forge2DGame {
TextPaint textPaint = TextPaint(
style: const TextStyle(color: Colors.red),
);
int _counter = 0;
Game();
@override
void update(double dt) {
super.update(dt);
_counter += 1;
}
@override
void render(Canvas canvas) {
super.render(canvas);
textPaint.render(canvas, "Flame is awesome $_counter", Vector2(10, 10));
}
}
dependencies:
flame_forge2d: ^0.12.4
flame: 1.5.0
flutter:
sdk: flutter

对于web来说,目前不可能不幸的是,因为游戏循环停止运行时,它不呈现任何东西,这将不会当浏览器选项卡不集中。

就像你发现的那样,它应该适用于桌面版本。

最新更新