hi all,
for(b = 0;b < numberEnemies;b++)
{
glTranslatef(enemies.position.x,enemies.position.y,0);
glRotatef(FindAngle(m_character.position,enemies.position) + 90,0,0,1);
glBegin(GL_QUADS);
glColor3f(1,1,1);
glTexCoord2f(0.5,0.59);glVertex2f(-2,1);
glTexCoord2f(1,0.59);glVertex2f(2,1);
glTexCoord2f(1,1);glVertex2f(2,-1);
glTexCoord2f(0.5,1);glVertex2f(-2,-1);
glEnd();
}
all i'm doing is rotating each enemy to face the character, and yet only the 1st one follows it the way it should. i have everyone drawn in the middle, and i translate and rotate, so it should rotate around its center. however, after the first object, everything rotates around the whole entire screen, and i have no clue as to why...what could be causing this?
btw, FindAngle() code:
float FindAngle(CVector point1,CVector point2)
{
CVector lookAt1 = CVector(point1.x - point2.x,point1.y - point2.y,point1.z - point2.z);
lookAt1.Normalize();
float radians3 = atan2(lookAt1.y,lookAt1.x);
return (180.0f * (radians3 + 90.0f) / PI);
}
Thanks for the help,
--nathan