我正在使用 Flame 的第 1 版,并添加了一个效果很好的视差背景。
// load background layers
final layers = _layersMeta.entries.map(
(e) => loadParallaxLayer(
ParallaxImageData(e.key),
velocityMultiplier: Vector2(e.value.toDouble(), 1.0),
alignment: Alignment.center,
fill: LayerFill.none ,
),
);
// create background parallax
parallax = ParallaxComponent(
parallax: Parallax(
await Future.wait(layers),
baseVelocity: Vector2(20, 0),
),
);
add(parallax);
一旦我将相机设置为跟随 Sprite camera.followVector2(player.position);
,很明显视差被初始化为屏幕大小,因为随着相机的移动,视差的边缘在黑色的游戏世界背景下变得可见。我试过改变和的大小ParallaxComponent
无济于事Parallax
。
更改画布大小也没有多大作用onGameResize(Vector2(camera.canvasSize.x, 5000));
有没有一种标准的方法来设置一个组件填充世界大小?源代码谈到了世界大小,但我没有看到任何控制它的方法。