Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

migotanie konsoli

Ostatnio zmodyfikowano 2014-04-17 23:07
Autor Wiadomość
stevy
Temat założony przez niniejszego użytkownika
migotanie konsoli
» 2014-04-17 13:05:21
Witam, żeby nie przedłużać chodzi o denerwujące migotanie okna przy każdorazowym czyszczeniu ekranu funkcją system("cls") i rysowaniu ponownie dość sporej tablicy z już przesuniętym graczem. Tu pojawia się pytanie czy można w jakiś sposób wyczyścić tylko część okna, zamiast całości? albo może ktoś zna inny sposób na to.
Pozdrawiam
P-108276
MrPoxipol
» 2014-04-17 17:48:38
C/C++
void cls() {
    for( i = 0; i < SCREEN_HEIGHT; i++ )
         putchar( '\n' );
   
}
P-108289
pekfos
» 2014-04-17 20:30:12
czy można w jakiś sposób wyczyścić tylko część okna, zamiast całości?
Tak - nie czyścić. Ustaw kursor i nadpisuj to, co się zmienia. Jeśli koniecznie musisz wszystko zmieniać, to przerzuć się na New Curses albo WinAPI. system("cls") i, na przykład, std::cout to chyba najgorsze możliwe połączenie do robienia gier w konsoli.
P-108309
stevy
Temat założony przez niniejszego użytkownika
» 2014-04-17 22:58:36
mógłbyś rozwinąć swoją myśl co do nadpisywania?
P-108315
pekfos
» 2014-04-17 23:07:04
Łatwiej chyba będzie pokazać.. Skompiluj i zobacz dokładnie, jak to działa:
C/C++
#include <iostream>

int main()
{
    std::cout << "_____\r\r\r\r\r";
    int x;
    std::cin >> x;
}
I poczytaj o SetConsoleCursorPosition(), '\r' się tu nie nada.
P-108316
« 1 »
  Strona 1 z 1