Я создаю 2D-игру, и когда игрок умирает, я хочу, чтобы текстура меня переключила на другую (чтобы показать взрыв), я также хочу, чтобы игра приостанавливалась на секунду или два, чтобы пользователь мог видеть, что текстура изменилась.Пытается сменить текстуру, когда игрок умирает (OpenGL + C++)
Мои текстуры загружаются правильно, потому что я могу применить их к фигуре, и я могу это увидеть, если скажу, что переключил ее с исходной текстурой игроков.
Я думаю, что это должно быть то, что это только рендеринг в одном кадре, а затем исчезающий или что-то в этом роде. Вот код.
void Player::die(){
if(Player::lives > 0){
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindTexture(GL_TEXTURE_2D, explosionTex);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTranslatef(200, 200, 0.0);
glRotatef(heading, 0,0,1);
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glTexCoord2f(0.0, 1.0); glVertex2f(-40,40);
glTexCoord2f(0.0, 0.0); glVertex2f(-40,-40);
glTexCoord2f(1.0, 0.0); glVertex2f(40,-40);
glTexCoord2f(1.0, 1.0); glVertex2f(40,40);
glEnd();
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
glPopMatrix();
Sleep (1000);
*xscroll = 0;
*yscroll = 0;
Player::lives--;
Player::XPos = 0;
Player::YPos = 0;
Player::heading = 0;
Player::speed = 0;
}
}
Как я могу заставить его переключать текстуру, отображать ее, а затем спать какое-то время?
Я сделал SwapBuffers (hDC); до сна, но ничего не изменилось – Chris
Хорошо, я получил это, чтобы работать сейчас, но некоторые другие вещи исчезают? – Chris
Не волнуйся, я справился, понял, что я меняю буфер, прежде чем все будет сделано. – Chris