Game Gegner bewegen sich in Richtung Spieler [geschlossen]

Ich erstelle ein Spiel in c ++ und OpenGL und möchte, dass sich ein Feind auf den Spieler zubewegt.

Was ist die beste Methode, um Spielobjekte in Richtung anderer Spielobjekte zu bewegen, die sowohl in 2D- als auch in 3D-Spielumgebungen funktionieren?

AKTUALISIEREN

wow danke allen für die schnellen Antworten!

Seltsamerweise habe ich es geschafft, dies zum Laufen zu bringen, so wie ich es gepostet habe

Auch aus irgendeinem Grund muss ich die x-Werte mit mehr multiplizieren, damit sie sich so schnell wie die y-Richtung bewegen.

jemand irgendwelche Ideen warum? oder wenn was ich tue ist falsch / schlecht

float playerX = player.getXPos();
float playerY = player.getYPos();
float enemyX = XPos-*xscroll;
float enemyY = YPos-*yscroll;

glPushMatrix();

glTranslatef(enemyX, enemyY, 0.0);
glColor3f(1.0,0.0,0.0);
    glBegin(GL_POLYGON);
        glVertex2f(-40,40);
        glVertex2f(-40,-40);
        glVertex2f(40,-40);
        glVertex2f(40,40);
    glEnd();

glPopMatrix();


float xDistance = abs(playerX-enemyX);
float yDistance = abs(playerY-enemyY);

if((playerX - enemyX)*(playerX - enemyX)+(playerY - enemyY)*(playerY - enemyY) < 400*400){
    float heading = asin(xDistance/yDistance);

    if(playerY > enemyY){
        YPos += timeFactor*(200*(sin((90+heading)*(PI/180.0f))));
    }else{
        YPos += -(timeFactor*(200*(sin((90+heading)*(PI/180.0f)))));
    }

    if(playerX > enemyX){
        XPos += -(timeFactor*(10000*(cos((90+heading)*(PI/180.0f)))));
    }else{
        XPos += timeFactor*(10000*(cos((90+heading)*(PI/180.0f))));
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage