【发布时间】:2022-01-16 01:07:15
【问题描述】:
我正在使用 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));
是否有标准的方法来设置组件填充世界大小? source code 谈论世界大小,但我看不到任何控制它的方法。
【问题讨论】: