我想将两个形状连在一起,这样它们的相对位置始终保持不变。
必须将形状放置在相对于节点中心的特定偏移处。
在Box2D中,这可以通过制作如How to combine Box2d bodies?中提到的多个灯具,然后使用shape.m_p.Set
来实现。
我已经成功通过以下方式完成了这项工作:
Node::CreateComponent<CollisionCircle2D>
CollistionShape::SetPosition
方法设置偏移量然而在2D中,我在SetPosition
类中找不到CollisionShape2D
的模拟,所以所有的形状都是共同的,我不想要。最小的例子:https://github.com/cirosantilli/Urho3D-cheat/blob/76134e9e53e82a95447701f4a67646d47a76d320/compound.cpp#L35
答案 0 :(得分:0)
<强> CollisionCircle2D::SetCenter
强>
由于某种原因,类似的方法不在基类CollisionShape2D
上,而是在派生类上,例如CollisionCircle2D::SetCenter
。
CollisionCircle2D::SetCenter
方法采用行为与Vector2D
类似的CollistionShape::SetPosition
参数。
然而问题是自我回答的问题: - )