flutter 如何使用Flame在Forge2D中为SVG创建碰撞形状?

icnyk63a  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(140)

我正在做一个Flutter项目,利用Flame游戏引擎和Forge 2D库进行物理模拟。我需要在游戏中为SVG元素添加碰撞。我已经知道如何在Flame中渲染SVG,但我不确定如何在Forge 2D中为SVG创建碰撞形状。有没有一种基于SVG创建碰撞形状的方法?任何例子或建议将是非常有帮助的。
谢谢你,谢谢!
我试图找到SvgShape,但我没有找到它

@override
  Body createBody() {
    final shape = CircleShape();
    shape.radius = size.x;

    final fixtureDef = FixtureDef(
      shape,
      userData: this, 
      restitution: 1,
      density: 15,
      friction: 1,
    );

    final bodyDef = BodyDef(
      position: initialPosition,
      angle: 0,
      type: BodyType.dynamic,
      gravityScale: Vector2.all(3.5),
    );
    return world.createBody(bodyDef)..createFixture(fixtureDef);
  }
}
v9tzhpje

v9tzhpje1#

不幸的是,没有内置的东西可以做到这一点,Forge2D也只支持凸形。
很多SVG也不支持,因为只支持矩形,多边形和圆形,所以它不能支持圆弧曲线和路径。

相关问题