Witam, mam na ekranie prostokąt, z którego po naciśnięciu przycisku 'wylatuje' pocisk. Aby to dobrze wyglądało muszę zrobić tak, aby zawsze z końca prostokąta wylatywał ten pocisk. Nie mam pomysłu jak to zaprogramować, pomocy
void cOkrag::rysuj() { //POCISK
glPushMatrix();
glColor3f(1.0, 1.0, 1.0);
glTranslatef(this->x,this->y,0);
glBegin(GL_POLYGON);
for (float kat = 0; kat < 360; kat += 5)
{
GLfloat _x, _y;
_x = r*cos(kat / 180 * 3.14);
_y = r*sin(kat / 180 * 3.14);
glVertex2f(_x, _y);
}
glEnd();
glPopMatrix();
glFlush();
}
void cProstokat::rysuj() //LUFA
{
glPushMatrix();
glTranslatef(this->x,this->y,0);
glRotatef(this->kat,0,0,1); //rotacja w okolo osi z
glColor3d(0.21, 0.7, 0.5);
glBegin(GL_POLYGON);
glVertex2f(-a/2.0, -b/2.0);
glVertex2f(-a/2.0, b/2.0);
glVertex2f(a/2.0, b/2.0);
glVertex2f(a/2.0, -b/2.0);
glEnd();
glPopMatrix();
glFlush();
}
void cScena::dodajO(float x, float y, float r){
cOkrag* tmp = new cOkrag(x, y, r);
tab.push_back(tmp);
}
//-------------------------
case ' ':
{
a.dodajO(-pr.a/2.0, pr.b/2.0, 0.01, 1.0, 1.0);
}break;