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

[Allegro]Problem z kolizja.

Ostatnio zmodyfikowano 2012-01-04 18:53
Autor Wiadomość
Winner
Temat założony przez niniejszego użytkownika
» 2012-01-01 18:29:23
Kod stworzony dla testów:
C/C++
x = floor( mario_x / 50 );
mx =( int ) mapa_x / 50;
my =( int ) mapa_y / 50;
y = floor( mario_y / 50 );
int test = map[ my + y ][ mx + x ];

textprintf_ex( bufor, font, 10, 30, makecol( 255, 255, 255 ), - 1, "numer kafelki %d, x=%d,mx=%d,my=%d,y=%d,mario_y=%d", test, x, mx, my, y, mario_y );

I jest tak, że teraz już się zatrzymuje ludek na kafelku nr. 2 ale przemieszczę się gdzieś dalej to juz kolizja nie działa wogule.
P-46928
pekfos
» 2012-01-01 18:37:43
Dodaj do textprintfa także sumy których używasz jako indeksów i poobserwuj czy jest dobrze.

A tak w ogóle to słownik by się Ci czasem przydał :P
P-46931
Winner
Temat założony przez niniejszego użytkownika
» 2012-01-01 18:48:36
Dodałem ale nie wiele to dało.
my+y = gdzy spadam to co kafelek jest o 1 więcej
mx+x = gdy poruszam się w prawo to co kafelek jest o jedno mniej.

No i nie wiem czy to jest dobrze czy nie?


Przedtem miałem taki coś:
map[mapa_y+y][mapa_x+x]
x,y = pozycja na mapie ludka...
I działało dobrze dałem inny system wyświetlania i nie działa. Może tylko się zmieniły zmienne jakoś? Która zmienna odpowiadało by teraz np. jaki kafelek znajduje się teraz w lewym górnym rogu? Bo przedtem było to map[mapa_y][mapa_x] i miałem aktualny kafelek z lewego górnego rogu... A teraz która to może być zmienna?
P-46935
pekfos
» 2012-01-01 19:06:25
Podaj kod kolizji.
P-46938
Winner
Temat założony przez niniejszego użytkownika
» 2012-01-01 19:20:35
C/C++
x = floor( mario_x / 50 );
mx =( int ) mapa_x / 50;
my =( int ) mapa_y / 50;
y = floor( mario_y / 50 );
int test = map[ my + y ][ mx + x ];
textprintf_ex( bufor, font, 10, 30, makecol( 255, 255, 255 ), - 1, "numer kafelki %d, x=%d,mx=%d,my=%d,y=%d,mario_y=%d,my+y=%d,mx+x=%d", test, x, mx, my, y, mario_y, my + y, mx + x );


PS: Ile jeszcze razy będe musiał go podawać? Bo 2 posty wcześniej dałem ten sam kod :)
P-46945
pekfos
» 2012-01-01 19:24:06
..
To nie jest kod z kolizją, tylko z obliczaniem kafla na którym jest postać.
P-46947
Winner
Temat założony przez niniejszego użytkownika
» 2012-01-01 19:26:14
No ale najpierw chcę obliczyć właśnie nr kafla na którym jest postać, potem sobie juz dalej poradze (tak myślę) dam  if(key[KEY_RIHGT] && (np.) test == 0) itp. Tylko teraz chce obliczyć na jakim kaflu jest ludek
P-46949
pekfos
» 2012-01-01 19:30:33
To się zdecyduj. Mówisz o kolizjach a podajesz kod z obliczaniem kafla.

Jakie masz wartości mapa_x i x będąc na lewym brzegu mapy?
P-46951
1 « 2 » 3 4 5 6 7 8
Poprzednia strona Strona 2 z 8 Następna strona