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

Flutter Flame中camera.shake()已过时,如何实现屏幕抖动?

Flutter Flame 相机抖动的最新实现方式

在Flutter Flame的新版本中,旧的camera.shake()接口已被废弃,当前实现相机抖动的最优方式有两种:

方法一:调用Viewfinder的shake方法

直接通过CameraComponent的viewfinder对象触发抖动,这是最简洁的方式:

gameRef.cameraComponent.viewfinder.shake(
  intensity: 10.0, // 控制抖动幅度
  duration: const Duration(milliseconds: 500), // 抖动持续时间
);

方法二:使用ShakeEffect效果(更灵活)

通过Flame的效果系统添加ShakeEffect,支持自定义X/Y方向的抖动强度、频率等参数:

import 'package:flame/effects.dart';

gameRef.cameraComponent.viewfinder.add(
  ShakeEffect(
    intensity: Vector2(10, 10), // X、Y轴分别设置抖动强度
    duration: const Duration(milliseconds: 500),
    frequency: 12, // 抖动的频率(每秒振动次数)
  ),
);

注意事项

  • 确保你的Flame依赖是最新版本,避免API版本不兼容
  • 需保证CameraComponent已正确添加到游戏的组件树中,否则无法获取到实例

内容的提问来源于stack exchange,提问作者김종현

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 23:40:57