migotanie konsoli
Ostatnio zmodyfikowano 2014-04-17 23:07
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 |
|
MrPoxipol |
» 2014-04-17 17:48:38 void cls() { for( i = 0; i < SCREEN_HEIGHT; i++ ) putchar( '\n' ); } |
|
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. |
|
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? |
|
pekfos |
» 2014-04-17 23:07:04 Łatwiej chyba będzie pokazać.. Skompiluj i zobacz dokładnie, jak to działa: #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. |
|
« 1 » |