Allegro 5 i kolizja w mapce kafelkowej

Odpowiedz Nowy wątek
2014-12-22 19:32
0

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

Pozostało 580 znaków

2014-12-23 18:31
0

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

Pozostało 580 znaków

2014-12-24 11:13
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.

edytowany 1x, ostatnio: ProCasher, 2014-12-25 21:25

Pozostało 580 znaków

2014-12-25 15:06
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 :)

Przykładzik dam jutro, chyba, że chcesz opis tego w pseudo-kodzie ;p - ProCasher 2014-12-25 21:41

Pozostało 580 znaków

2014-12-26 22:32
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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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