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

[Allegro] Scrollowanie mapy

Ostatnio zmodyfikowano 2011-09-20 12:13
Autor Wiadomość
walus1305
Temat założony przez niniejszego użytkownika
[Allegro] Scrollowanie mapy
» 2011-09-19 18:59:32
napisałby mi ktoś kod na scrollowanie mapy mam jakiś sie scrolluje ale jak dam np npc w punktach 200 200 to on się scrolluje razem z mapą a nie pozostaje w miejscu moim zdaniem trzeba napisać jeszcze raz scrollowanie
P-41182
Gronek8624
» 2011-09-19 19:06:36
hmm
Dobre stare czasy XD
Jak zgaduje to postać umieściłeś na płaszczyźnie którą poruszasz .
Najlepiej daj postać do tablicy 2 wymiarowej (X,Y - mapa świata szybki i zazwyczaj mało pamięci bierze . Wszystko zależy od algorytmu :))
lub
zrób strukturę :)
 
P-41183
walus1305
Temat założony przez niniejszego użytkownika
» 2011-09-19 19:24:49
no dobra mam tablice 30 30 wyświetlam ją to umiem ale mam problem z tym scrollowaniem nie wiem jak zacząć mam tam jakiś kod ale on niby scrolluje ale nie dobrze wiec proszę o napisanie mi jak ją mogę scrollować
P-41184
Gronek8624
» 2011-09-19 19:33:04
http://www.easykoder.vot.pl/arty/wyswietlanie_mapy

Jak dobrze pamiętam to od tego uczyłem się wyświetlania mapy (rok temu :) )
Skąd nie gadać to stamtąd pochodzą tutki allegro :)

Ps.hmm nie sądzę by komuś chciało się pisać tego dlaczego :
  - Mają swoje sprawy
  - To twój program (gra)
  - Masz się czegoś nauczyć (skąd nie gadać najwięcej nauczyłem się studiując czyjś kod :)) taka ironia losu  
P-41185
walus1305
Temat założony przez niniejszego użytkownika
» 2011-09-19 19:38:09
stamtąd brałem i właśnie nie chce działać nie wiedzieć dlaczego
P-41186
Gronek8624
» 2011-09-19 19:40:19
Dawno nie pisałem w Allegro ale co tam .
Wrzuci kod to zobaczymy co jest nie tak :)
P-41187
SeaMonster131
» 2011-09-19 20:49:27
Wrzuć kod a nie... ;p
Ogólnie to tworzysz zmienne CameraX i CameraY, tego npc rysujesz na pozycji
C/C++
200 + CameraX
200 + CameraY
Przesuwając mapę dodajesz/odejmujesz tylko zmienną CameraX/CameraY. I wsio ;p
P-41190
walus1305
Temat założony przez niniejszego użytkownika
» 2011-09-19 21:02:13
a więc tu jest wyświetlanie tablicy

C/C++
void wyswietl()
{
    for( int licz_y = 0; licz_y < 30; licz_y++ )
    for( int licz_x = 0; licz_x < 40; licz_x++ )
    {
        masked_blit( teren, bufor,
        ( map[ licz_y ][ licz_x ] % 4 ) * 40,
        ( map[ licz_y ][ licz_x ] / 4 ) * 40,
        ( licz_x * 40 ) - x,( licz_y * 40 ) - y, 40, 40 );
    }
   
   
};

a na scrollowanie
C/C++
if(( key[ KEY_RIGHT ] ) &&( x < 800 ) ) { x = x + 1; }
if(( key[ KEY_LEFT ] ) &&( x > 0 ) ) { x = x - 1; }
if(( key[ KEY_DOWN ] ) &&( y < 600 ) ) { y = y + 1; }
if(( key[ KEY_UP ] ) &&( y > 0 ) ) { y = y - 1; }
if(( key[ KEY_RIGHT ] ) &&( x >= 800 ) &&( ludek_x <= 720 ) ) { ludek_x++; }
if(( key[ KEY_LEFT ] ) &&( x <= 0 ) &&( ludek_x > 40 ) ) { ludek_x--; }
if(( key[ KEY_DOWN ] ) &&( y >= 600 ) &&( ludek_y <= 400 ) ) { ludek_y++; }
if(( key[ KEY_UP ] ) &&( y <= 0 ) &&( ludek_y > 40 ) ) { ludek_y--; }
wiem że jest coś nie tak z tym scrollem ponieważ gdy chce wyświetlić postać w punkcie np 100 100 to podczas scrollowania mapy ta postać zamiast zostać w tym punkcie porusza się razem z nią. Wiec nie wiem co jest nie tak
P-41192
« 1 » 2
  Strona 1 z 2 Następna strona