diff --git a/src/modules/physics/box2d/PrismaticJoint.cpp b/src/modules/physics/box2d/PrismaticJoint.cpp index 69f182074..e390405e8 100644 --- a/src/modules/physics/box2d/PrismaticJoint.cpp +++ b/src/modules/physics/box2d/PrismaticJoint.cpp @@ -140,8 +140,10 @@ int PrismaticJoint::getLimits(lua_State *L) int PrismaticJoint::getAxis(lua_State *L) { - lua_pushnumber(L, joint->GetLocalAxisA().x); - lua_pushnumber(L, joint->GetLocalAxisA().y); + b2Vec2 axis = joint->GetLocalAxisA(); + getBodyA()->getWorldVector(axis.x, axis.y, axis.x, axis.y); + lua_pushnumber(L, axis.x); + lua_pushnumber(L, axis.y); return 2; } diff --git a/src/modules/physics/box2d/WheelJoint.cpp b/src/modules/physics/box2d/WheelJoint.cpp index bd066c157..2670878cd 100644 --- a/src/modules/physics/box2d/WheelJoint.cpp +++ b/src/modules/physics/box2d/WheelJoint.cpp @@ -115,8 +115,10 @@ float WheelJoint::getSpringDampingRatio() const int WheelJoint::getAxis(lua_State *L) { - lua_pushnumber(L, joint->GetLocalAxisA().x); - lua_pushnumber(L, joint->GetLocalAxisA().y); + b2Vec2 axis = joint->GetLocalAxisA(); + getBodyA()->getWorldVector(axis.x, axis.y, axis.x, axis.y); + lua_pushnumber(L, axis.x); + lua_pushnumber(L, axis.y); return 2; }