精灵中的线条在移动时会闪烁
Lines in sprites flicker when moving
我们正在用 flutter flame 创建一个游戏,当我们移动我们的相机时,我们注意到一些 strage 抖动。我们有一个position组件,通过改变position移动,camera跟随
我们现在有非常简单的移动,其中 dt 是扩展 PositionComponent 的 Player 组件内的增量时间
void update(double dt) {
if (position.distanceTo(moveTarget) > 0.1) {
final moveDirection = moveTarget - position;
moveDirection.normalize();
position += moveDirection * dt * speed.toDouble();
}
super.update(dt);
}
这是相机
camera.followComponent(player);
但是我们的精灵有很多抖动。精灵的线条闪烁。我们将使用像素艺术,但这只是一个示例精灵来说明
这是什么原因造成的?
1 轴上的移动似乎效果更好,但仍然如此
我们在 flutter web 上 运行 flutter 版本 2.8.1
这可能是由于Flutter's anti aliasing bug造成的。
如果您使用的 sprite 没有像中间那样的线条,您应该不会注意到它,正如您示例中纯蓝绿色的组件所示。
我们正在用 flutter flame 创建一个游戏,当我们移动我们的相机时,我们注意到一些 strage 抖动。我们有一个position组件,通过改变position移动,camera跟随
我们现在有非常简单的移动,其中 dt 是扩展 PositionComponent 的 Player 组件内的增量时间
void update(double dt) {
if (position.distanceTo(moveTarget) > 0.1) {
final moveDirection = moveTarget - position;
moveDirection.normalize();
position += moveDirection * dt * speed.toDouble();
}
super.update(dt);
}
这是相机
camera.followComponent(player);
但是我们的精灵有很多抖动。精灵的线条闪烁。我们将使用像素艺术,但这只是一个示例精灵来说明
这是什么原因造成的?
1 轴上的移动似乎效果更好,但仍然如此
我们在 flutter web 上 运行 flutter 版本 2.8.1
这可能是由于Flutter's anti aliasing bug造成的。
如果您使用的 sprite 没有像中间那样的线条,您应该不会注意到它,正如您示例中纯蓝绿色的组件所示。