火焰组件是否可以将它们附加到其他组件,以便在“父”组件移动时更新它们的位置?
我想要一个 hitbox 组件,并用 xy 偏移量将玩家精灵、名称标签等附加到它上面。
您可以使用任何PositionComponent
(Flame 中的大多数组件都继承自PositionComponent
)并向其添加子级。
因此,例如,我们在这里创建一个简单的正方形,它有两个正方形的子节点,它们与父节点一起移动、缩放和旋转:
class Square extends PositionComponent {
Square(Vector2 position, Vector2 size, {double angle = 0})
: super(
position: position,
size: size,
angle: angle,
);
}
class ParentSquare extends Square with HasGameRef {
ParentSquare(Vector2 position, Vector2 size) : super(position, size);
@override
Future<void> onLoad() async {
super.onLoad();
// All positions here are in relation to the parent's position
add(Square(Vector2(100, 100), Vector2(50, 50), angle: 2));
add(Square(Vector2(160, 100), Vector2(50, 50), angle: 3));
}
}
可以在这里看到一个例子。(如果您按下<>
,您将看到该示例的代码)