DeBugger |
» 2009-01-05 19:57:36 Nei za bardzo zrozumiałem - może napisać zmienną na innych współrzędnych co zero? |
|
lynx |
» 2009-01-05 19:59:47 A czy wyświetlasz tło przy każdym obrocie pętli głównej czy tylko na raz? |
|
Sajan Temat założony przez niniejszego użytkownika |
» 2009-01-05 20:00:51 No ale 0 zostanie. A mi chodzi o to żeby 0 zniknęło i zamiast tego było 1. |
|
Sajan Temat założony przez niniejszego użytkownika |
» 2009-01-05 20:26:23 Wyświetlam. |
|
DeBugger |
» 2009-01-05 20:31:35 Czy mógłbyś pomóc innym użytkownikom i podać kod? ;) |
|
Sajan Temat założony przez niniejszego użytkownika |
» 2009-01-05 20:34:53 while( !key[ KEY_ESC ] ) { while( speed > 0 ) { if( key[ KEY_UP ] ) { pac.kierunek = 2, pac.y--; } if( key[ KEY_DOWN ] ) { pac.kierunek = 0, pac.y++; } if( key[ KEY_LEFT ] ) { pac.kierunek = 1, pac.x--; } if( key[ KEY_RIGHT ] ) { pac.kierunek = 3, pac.x++; } speed--; frame++; if( frame > 80 ) frame = 0; clear_to_color( bufor, makecol( 0, 0, 0 ) ); blit( tlo, bufor, 0, 0, 0, 0, 800, 600 ); if( frame < 10 ) { pac.klatka = 0, poc.klatka = 0; } else if( frame >= 10 && frame < 20 ) { pac.klatka = 1, poc.klatka = 1; } else if( frame >= 20 && frame < 30 ) { pac.klatka = 2, poc.klatka = 2; } else if( frame >= 30 && frame < 40 ) { pac.klatka = 3, poc.klatka = 3; } else if( frame >= 40 && frame < 50 ) { pac.klatka = 4, poc.klatka = 4; } else if( frame >= 50 && frame < 60 ) { pac.klatka = 5, poc.klatka = 5; } else if( frame >= 60 && frame < 70 ) { pac.klatka = 6, poc.klatka = 6; } else if( frame >= 70 && frame < 80 ) { pac.klatka = 7, poc.klatka = 7; } masked_blit( pacb, bufor, pac.kierunek * 50, pac.klatka * 50, pac.x, pac.y, 50, 50 ); masked_blit( pocb, bufor, poc.kierunek * 50, poc.klatka * 50, poc.x, poc.y, 50, 50 ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); if( pac.x < 0 ) pac.x = 0; if( pac.x > 750 ) pac.x = 750; if( pac.y < 90 ) pac.y = 90; if( pac.y > 550 ) pac.y = 550; if( !( poc.x - pac.x >= 50 || pac.x - poc.x >= 50 ) && !( poc.y - pac.y >= 50 || pac.y - poc.y >= 50 ) ) { poc.x = 100, poc.y = 100; a += 1; textprintf_ex( tlo, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Punkty: %d", a ); } } }
pac - postać; poc - bonus; a wcześniej mam zapisane int a = 0; textprintf_ex( tlo, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Normalne pociski: %d", a );
|
|
lynx |
» 2009-01-05 20:36:06 No to teraz powiedz mi czy tło jest pod tekstem. Ewidentnie widać że nie czyścisz ekranu/jego części pod tekstem i z tego powodu tekst się rozmazuje. Weź to całe tło w komentarz i zrób: clear_to_color( bufor, makecol( 23, 23, 23 ) ); textprintf_ex( bufor, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Liczba: %d", a ); blit( bufor, screen, 0, 0, 0, 0, bufor->w, bufor->h );
I co działa takie wyświetlanie? edit1:blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); if( pac.x < 0 ) pac.x = 0;
if( pac.x > 750 ) pac.x = 750;
if( pac.y < 90 ) pac.y = 90;
if( pac.y > 550 ) pac.y = 550;
if( !( poc.x - pac.x >= 50 || pac.x - poc.x >= 50 ) && !( poc.y - pac.y >= 50 || pac.y - poc.y >= 50 ) ) { poc.x = 100, poc.y = 100; a += 1; textprintf_ex( tlo, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Punkty: %d", a ); }
Zamień na: if( pac.x < 0 ) pac.x = 0;
if( pac.x > 750 ) pac.x = 750;
if( pac.y < 90 ) pac.y = 90;
if( pac.y > 550 ) pac.y = 550;
if( !( poc.x - pac.x >= 50 || pac.x - poc.x >= 50 ) && !( poc.y - pac.y >= 50 || pac.y - poc.y >= 50 ) ) { poc.x = 100, poc.y = 100; a += 1; textprintf_ex( bufor, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Punkty: %d", a ); } blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
A kod bierz w [code src="C++"]kod[/code] |
|
Sajan Temat założony przez niniejszego użytkownika |
» 2009-01-05 20:42:29 Teraz nie pokazuje się 1 tylko cały czas 0. |
|
1 « 2 » 3 4 |