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

[Allegro] Wyświetlanie liczby

Ostatnio zmodyfikowano 2009-01-05 20:51
Autor Wiadomość
DeBugger
» 2009-01-05 19:57:36
Nei za bardzo zrozumiałem - może napisać zmienną na innych współrzędnych co zero?
P-3453
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?
P-3454
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.
P-3455
Sajan
Temat założony przez niniejszego użytkownika
» 2009-01-05 20:26:23
Wyświetlam.
P-3457
DeBugger
» 2009-01-05 20:31:35
Czy mógłbyś pomóc innym użytkownikom i podać kod? ;)
P-3459
Sajan
Temat założony przez niniejszego użytkownika
» 2009-01-05 20:34:53
C/C++
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
C/C++
int a = 0;
textprintf_ex( tlo, font, 20, 20, makecol( 200, 200, 200 ), - 1, "Normalne pociski: %d", a );
P-3460
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:
C/C++
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:
C/C++
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:
C/C++
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]
P-3461
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.
P-3463
1 « 2 » 3 4
Poprzednia strona Strona 2 z 4 Następna strona