Skocz do zawartości

7ed

Użytkownicy
  • Postów

    4
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia 7ed

Chicken

Chicken (1/13)

0

Reputacja

  1. 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.
  2. Tak też robiłem i niestety efekt ten sam. Cały kod ruchu jest zawarty w step zawsze. kierunek=0; losuj=random_range(1,5); if losuj>=0 && losuj<2 { kierunek = 0; } if losuj>=2 && losuj<3 { kierunek = 90; } if losuj>=3 && losuj<4 { kierunek = 180; } if losuj>=4 { kierunek = 270; } if place_snapped(32,32) { motion_set(kierunek,32); } else { motion_set(0,0); } Sam ruch działa poprawnie. Niestety tylko na pierwszy umieszczony obiekt.
  3. Fakt, nie pomyślałem xD A pytanie z innej beczki. Mam obiekt z losowym ruchel (losowanie wartości z przedziału 1-4 i przypisane kierunki do nich). Obiekt wystepuje w wielu instancjach w room-ie. Pierwszy umieszczony porusza się ok, pozostałe pozostają bez ruchu (chyba, że obiekt zostanie zniszczony to następny w kolejności umieszczania zaczyna reagować na skrypt). Jak mozna zmusić wszystkie obiekty do losowego ruchu? Każdy osobo nie ten sam kierunek (oczywiście zawsze używam self przy zmiennych w losowaniu)
  4. Witam. Zaczynam kombinować z GML w GMS. Staram się stworzyć system poruszania oparty o grid z wykrywaniem kolizji i szczerze mówiąc nie wiem jak połączyć place_empty z kierunkiem w stopniach + speed. Czy może ktoś coś zasugerować? Samo poruszanie się jest bardzo proste jak na razie: if keyboard_check(ord("W")) { if (place_snapped(32,32)){ motion_set(90,32); } } if keyboard_check(ord("S")) { if (place_snapped(32,32)){ motion_set(270,32); } } if keyboard_check(ord("D")) { if (place_snapped(32,32)){ motion_set(0,32); } } if keyboard_check(ord("A")) { if (place_snapped(32,32)){ motion_set(180,32); } } else { motion_set(0,0); }
×
×
  • Dodaj nową pozycję...