Mit diesem kleinen Stück Code habe ich es möglich gemacht, das 'Monster' zum Avatar zu drehen, aber wenn der Avatar hinter dem ist "Monster", das "Monster" ist vom Avatar abgewandt. (Bild ist unten)Drehung zwischen 2 Punkten beim Blick auf den Rücken beim Blick in Richtung Stehen (Bilder)
Hinweis: Die weißen Zahlen sind der Wert der m_RotationAngle
DOUBLE2 mousePos = GAME_ENGINE->GetMousePosition();
double xDiff = m_ActPtr->GetPosition().x - mousePos.x;
double yDiff = m_ActPtr->GetPosition().y - mousePos.y;
m_RotationAngle = atan(yDiff, xDiff);
m_ActPtr->SetAngle(m_RotationAngle);
Ich habe versucht, es zu beheben mit:
if (diff.x < 0)
{
m_RotationAngle = -atan(diff.y/diff.x);
//also tried following but gave and error:
//m_RotationAngle = tan(diff.y/diff.x);
}
else
{
m_RotationAngle = atan(diff.y/diff.x);
}
Aber das gab die folgende Ausgabe: