我正在做一个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);
}
}
1条答案
按热度按时间v9tzhpje1#
不幸的是,没有内置的东西可以做到这一点,Forge2D也只支持凸形。
很多SVG也不支持,因为只支持矩形,多边形和圆形,所以它不能支持圆弧曲线和路径。