You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Flame 1.23.0农场游戏开发:FixedResolutionViewport代码报错修复咨询

修复方案

1. 导入Viewport依赖包

确保在代码文件顶部添加Viewport相关的导入语句:

import 'package:flame/viewport.dart';

2. 调整onLoad方法的初始化顺序

FlameGame的核心组件(包括camera)需要先通过父类的onLoad完成初始化,才能安全设置viewport。修改后的代码如下:

@override
Future<void> onLoad() async {
  await super.onLoad(); // 先执行父类初始化逻辑,确保camera就绪
  camera.viewport = FixedResolutionViewport(Vector2(160, 160));

  for (int row = 0; row < rows; row++) {
    for (int col = 0; col < columns; col++) {
      final plot = PlotComponent(Vector2(col * plotSize, row * plotSize));
      add(plot);
    }
  }
}

3. 可选:检查地块组件的锚点适配

如果你的PlotComponent锚点设置为Anchor.center,需要调整位置计算逻辑避免显示偏移:

final plot = PlotComponent(
  Vector2(
    col * plotSize + plotSize / 2,
    row * plotSize + plotSize / 2
  )
);

内容的提问来源于stack exchange,提问作者Salman Farisi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:25:56