Witam
Mam mapkę kafelkową ale nie wiem jak zrobić kolizję dla kafelka o numerze np.1
Słyszałem że można zrobić kolizja za pomocą get_pixel, tylko jak?
Na google jest ale o allegro 4
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.
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 :)
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