Allegro 5 i kolizja w mapce kafelkowej

0

Witam
Mam mapkę kafelkową ale nie wiem jak zrobić kolizję dla kafelka o numerze np.1

0

Słyszałem że można zrobić kolizja za pomocą get_pixel, tylko jak?
Na google jest ale o allegro 4

0

Mapa jest przechowywana przez tablicę czy jak? Jeśli tak to możesz napisać pętlę, która będzie sprawdzać czy x,y postaci koliduje z x,y jakichś kafelków mapy.

0

Tak mapa jest w postaci tablicy i wygląda tak:

int kafelki[15][20] =
{
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{ 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1},
{ 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},

};

prosiłbym o jakiś przykładzik :)

0

Przepraszam, że tak późno, lecz mimo, że są święta,
nie mam zbyt dużo czasu. Teraz w sumie też nie mam, więc
napiszę ci ten pseudokod, zgodnie z twoją prośbą ;p.

for(pętla kończy się gdy cała tablica zostanie sprawdzona)
{
for(ta pętla kończy się, gdy rząd zostanie sprawdzony)
{
jeśli program napotka w tablicy wartość odpowiadającą np. kamieniowi, to sprawdzać pozycję gracza
...dalsza część obsługi kolizji...
}
zmiana rzędu
}

Czekaj, czekaj... Ale skąd mam wiedzieć, jaką pozycję na mapie zajmuje dany kafelek?
Jeśli kafelek ma wymiary 50x50px,
a jest w pierwszym rzędzie kafelków to logiczne, że y=0, a jeśli jest drugim kafelkiem w tym rzędzie? x=50.
Dalej domyśl się sam :d

1 użytkowników online, w tym zalogowanych: 0, gości: 1