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

[Allegro] Szybkość poruszania mapą

Ostatnio zmodyfikowano 2011-12-31 19:08
Autor Wiadomość
Winner
Temat założony przez niniejszego użytkownika
» 2011-12-29 23:45:32
Z góry przepraszam za otwarcie tematu - jeżeli tak nie można to proszę go zamknąć.

Chodzi o to, że ja w ten sposób wyświetlam moją mapę:
C/C++
blit( teren, bufor,
(( map[ licznik_y + mapa_y + my ][ licznik_x + mapa_x ] % 4 ) * 50 ) + mx
(( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 50 ) + my,
licznik_x * 50, licznik_y * 50, 50, 50 );
 I nie wiem skąd pomysł o czyszczeniu ekranu... Gdzy dam obojętnie gdzie (próbowałem juz chyba wszedzie) to mam szary ekran... Czyszczę ekran funkcją:
clear_to_color( bufor, makecol( 150, 150, 150 ) );

Proszę o pomoc. Nie znam lepszego forum o programowaniu w c++ (żeby tak szybko odpowiadano) a więc nie wiem gdzie mógłbym jeszcze napisać... To naprawdę dla mnie ważne.
P-46668
pekfos
» 2011-12-30 16:35:15
Swoje tematy możesz otwierać.
Proszę o pomoc. Nie znam lepszego forum o programowaniu w c++ (żeby tak szybko odpowiadano) a więc nie wiem gdzie mógłbym jeszcze napisać... To naprawdę dla mnie ważne.
Skoro tak, to chociaż trzymaj jakiś poziom. Bez urazy, ale mnie wygląda to tak, że chcesz napisać grę nie mając o tym pojęcia i jesteś zbyt leniwy by pomyśleć logicznie lub poszukać w internecie.
P-46685
Winner
Temat założony przez niniejszego użytkownika
» 2011-12-30 16:41:15
Próbuje trzymać poziom. Nie wiem co takiego złego jest w proszeniu o pomoc gdy ktoś ma problem...

Jak wyczyszczę ekran podczas wyświetlania to mam cały szary... (to chyba oczywiste) a więc pomysł z czyszczeniem ekranu dla mnie odpada, chyba, że mam go gdzie indziej czyścić? Bo oczywiście mam jedno czyszczenie od razu na początku pętli głównej i nie wiem po co drugie...
P-46688
pekfos
» 2011-12-30 16:58:10
Jak obraz Ci sie rozmazuje to źle czyścisz. Podaj kod głównej pętli.

Próbuje trzymać poziom. Nie wiem co takiego złego jest w proszeniu o pomoc gdy ktoś ma problem...
Nic złego. Ale jak problem wynika z nieznajomości podstaw i/lub niemyślenia, to już jest strata czasu.
P-46693
Winner
Temat założony przez niniejszego użytkownika
» 2011-12-30 17:02:37
Obraz mi się nie rozmazuje. Po prostu rysuje mi nowe kafelki i jak te kafelki będą miały 40 pikseli to znikają i zaczynają od nowa się rysować. Zdjęcie  jak to wygląda:

KOd pętli:
C/C++
while( speed > 0 )
{
    clear_to_color( bufor, makecol( 150, 150, 150 ) );
    y = floor( mario_y / 50 );
    x = floor( mario_x / 50 );
    int mapaX = floor( mapa_x / 50 );
    int x1 = x + 1;
    int y1 = y + 1;
    int mapa_x_piksele = mapa_x * 50;
    int RodzajTerenu = map[ mapa_y + y + 1 ][ mapa_x + x ];
    //W prawo
    int RodzajTerenuDolL = map[ mapa_y + y ][ mapa_x + x + 1 ];
    int RodzajTerenuDolP = map[ mapa_y + y1 ][ mapa_x + x1 ];
    int RodzajTerenuGorP = map[ mapa_y + y1 ][ mapa_x + x ];
    int RodzajTerenuGorL = map[ mapa_y + y ][ mapa_x + x ];
    //w lewo
    int RodzajTerenuDolLL = map[ mapa_y + y ][ mapa_x + x - 1 ];
    int RodzajTerenuDolPP = map[ mapa_y + y + 1 ][ mapa_x + x - 1 ];
    int RodzajTerenuGorPP = map[ mapa_y + y + 1 ][ mapa_x + x ];
    int RodzajTerenuGor = map[ mapa_y + y ][ mapa_x + x ];
    wys_mape();
   
   
    if( key[ KEY_RIGHT ] && RodzajTerenuDolL == 0 && RodzajTerenuDolP == 0 || key[ KEY_RIGHT ] && RodzajTerenuDolP > 0 && RodzajTerenuGorP > 0 && RodzajTerenuDolL == 0 )
    {
       
        mx--;
        if( mx >= 40 ) { mapa_x += 1; mx = mx - 40; }
        if( mx <= - 40 ) { mapa_x += 1; mx = mx + 40; }
       
       
       
    }
 I pod koniec pętli:
C/C++
}
masked_blit( mario, bufor, 0, 0, mario_x, mario_y, mario->w, mario->h );
blit( bufor, screen, 0, 0, 0, 0, 1500, 600 );
P-46694
pekfos
» 2011-12-30 17:11:28
Zrób coś z tymi warningami. Wrzuć gdzieś binarkę bo twój opis i screen w ogóle nie ułatwia..
P-46695
Winner
Temat założony przez niniejszego użytkownika
» 2011-12-30 17:48:57
Jak zdjęcie ani opis nie pomaga. To może film wyjaśni sprawę:
http://www.youtube.com/watch?v=zN_y3D-CGsY&feature=youtu.be
P-46696
pekfos
» 2011-12-30 17:54:24
Zwalone wyświetlanie.. Kawałki kafli masz wyświetlać po bokach a nie wszędzie..
P-46698
1 2 3 4 « 5 » 6 7 8 9 10 11 12
Poprzednia strona Strona 5 z 12 Następna strona