void CActorInstance::__PushCircle(CActorInstance & rVictim)
{
const TPixelPosition& c_rkPPosAtk=NEW_GetAtkPixelPositionRef();
D3DXVECTOR3 v3SrcPos(c_rkPPosAtk.x, -c_rkPPosAtk.y, c_rkPPosAtk.z);
const D3DXVECTOR3& c_rv3SrcPos = v3SrcPos;
const D3DXVECTOR3& c_rv3DstPos = rVictim.GetPosition();
D3DXVECTOR3 v3Direction;
v3Direction.x = c_rv3DstPos.x - c_rv3SrcPos.x;
v3Direction.y = c_rv3DstPos.y - c_rv3SrcPos.y;
v3Direction.z = 0.0f;
D3DXVec3Normalize(&v3Direction, &v3Direction);
rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y);
}
void CActorInstance::__PushDirect(CActorInstance & rVictim)
{
D3DXVECTOR3 v3Direction;
v3Direction.x = cosf(D3DXToRadian(m_fcurRotation + 270.0f));
v3Direction.y = sinf(D3DXToRadian(m_fcurRotation + 270.0f));
v3Direction.z = 0.0f;
rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y);
}
void CActorInstance::__SetFallingDirection(float fx, float fy)
{
m_PhysicsObject.SetDirection(D3DXVECTOR3(fx, fy, 0.0f));
}
It's like yours or other sources i compared.
ActorInstanceBattle.cpp : [Hidden Content]