Flutter Flame 相机抖动已被弃用。

3

enter image description here

当我尝试重复一些关于Flutter Flame的讲座时,大多数YouTube教程都教我用以下方式来抖动屏幕。 但是IDE抱怨直接使用camera属性已经被弃用了。
那么,现在有什么最好的方法来抖动相机(或视口或世界)呢?
尝试:
- camera.shake(); // 已弃用 - gameRef.camera.shake(); // 已弃用 - gameRef.world.shake(); // 方法不存在 - gameRef.cameraComponent.shake(); // 方法不存在 - gameRef.cameraComponent.viewport.shake(); // 方法不存在 - gameRef.cameraComponent.camera.shake(); // 方法不存在
期望:
- 没有弃用的方法

你有没有阅读过解释如何替代的文档?https://pub.dev/documentation/flame/latest/game/FlameGame/camera.html - undefined
@SamiKuhmonen 是的,手册上说不要直接使用 flameGame.camera,而是创建 cameraComponent 并使用它,所以我按照这样做了。但是 cameraComponent 没有 shake 方法。 - undefined
1个回答

4

摄像机的晃动已经成为一种效果而不是直接在摄像机上使用的方法,您可以通过CameraComponent来使用它:

        cameraComponent.viewfinder.add(
          MoveEffect.by(
            Vector2(5, 5),
            PerlinNoiseEffectController(duration: 0.2, frequency: 400),
          ),
        );

当然,根据您的喜好更改参数。
请记得导入flame_noise,因为EffectController就在其中: https://pub.dev/packages/flame_noise

完美,我想要的。谢谢。 - undefined
  • 取景器可以被视口所取代,
  • Vector2数值 -> 震动程度。Vector2.zero() 不会移动,Vector(30, 30) 会使相机疯狂地抖动。
- undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接