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

如何在Flutter Flame Forge2D中根据游戏事件更新重力?

修改Forge2DGame中的重力值

Forge2DGame的重力实际由其内部的World实例管理,你可以通过直接操作World的gravity属性动态修改:

  • 若你继承了Forge2DGame,可直接在类内部访问world成员:
    class CustomGame extends Forge2DGame {
      CustomGame() : super(gravity: Vector2(0, -10)); // 初始设置向下重力
    
      void onGameEventTrigger() {
        // 事件触发时将重力改为向上
        world.gravity = Vector2(0, 10);
      }
    }
    
  • 若持有Forge2DGame实例,同样可通过实例的world属性修改:
    final game = Forge2DGame(gravity: Vector2(0, -10));
    // 事件发生时调整为水平向左的重力
    game.world.gravity = Vector2(-5, 0);
    
  • 重力参数为Vector2类型,x分量控制水平方向重力,y分量控制垂直方向,通过正负值可调整重力的方向与大小

内容的提问来源于stack exchange,提问作者Eyad Azzam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:35:20