Physics2D/RigidBody2D: Fix SetPosition
This commit is contained in:
parent
0ca823f9a6
commit
3efb54ea3c
|
|
@ -470,9 +470,8 @@ namespace Nz
|
||||||
|
|
||||||
void RigidBody2D::SetPosition(const Vector2f& position)
|
void RigidBody2D::SetPosition(const Vector2f& position)
|
||||||
{
|
{
|
||||||
cpVect oldPosition = cpBodyGetPosition(m_handle);
|
// Use cpTransformVect to rotate/scale the position offset
|
||||||
|
cpBodySetPosition(m_handle, cpvadd(cpv(position.x, position.y), cpTransformVect(m_handle->transform, cpv(m_positionOffset.x, m_positionOffset.y))));
|
||||||
cpBodySetPosition(m_handle, cpBodyLocalToWorld(m_handle, cpv(position.x - oldPosition.x + m_positionOffset.x, position.y - oldPosition.y + m_positionOffset.y)));
|
|
||||||
if (m_isStatic)
|
if (m_isStatic)
|
||||||
{
|
{
|
||||||
m_world->RegisterPostStep(this, [](Nz::RigidBody2D* body)
|
m_world->RegisterPostStep(this, [](Nz::RigidBody2D* body)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue