Skorzystam, każda skrócona wersja jest mile widziana.
motion_set(0,0) - to jest element od czegoś jeszcze. Będzie docelowo na zmianę między ruchem postaci a wrogów. Coś typu tury i chodzi o ruch na zasadzie krok ja krok przeciwnik.
A jak to wygląda w kwestii ruchu tylko jednego obiektu?
Przykładowo umieszczam przeciwnika 3x na mapie, ale właśnie tylko jeden się porusza.
Powiem szczerze, że coś tam majstruje w GMS od grudnia ale przez brak czasu szło to opornie i raczej były to inne rozwiązania.
Sam jestem na co dzień przyzwyczajony raczej do webdev niż GML ;]
[edit]
Powyższe już nie ważne. Już wiem co i jak ;]
Mam inne pytanie.
Ruch obiekty będącego teoretycznym przeciwnikiem (obiektów w sumie) już działa poprawnie ale wykrywanie kolizji coś zawodzi.
kod poniżej prosty lecz do testu wystarczający
kierunek = irandom_range(0,3)*90
if kierunek = 0 {
check = place_empty(x+32,y);
}
if kierunek = 90 {
check = place_empty(x,y-32);
}
if kierunek = 180 {
check = place_empty(x-32,y);
}
if kierunek = 270 {
check = place_empty(x,y+32);
}
if global.player_turn = false {
if(place_snapped(32,32) && check) motion_set(kierunek,32) global.obiekty=-1;
} else {motion_set(0,0)}
1. motion_set(0,0) tu ma zastosowanie. Zatrzymuje kiedy trzeba obiekty i ładnie działa.
2. global.obiekty i global.player_turn - tu bez znaczenia. Część czegoś zewnętrznego.
3. problem z wykrywaniem kolizji - czasem obiekty "głupieją" i wchodzą w ścianę (solid) lub przechodzą przez nią poza room i nie wiem szczerze dlaczego.