alwin Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Hey. Mam obj_kopalnia który jest typu solid aby żołnierze ładnie go omijali, lecz mam także jednostki latające na które nie ma mieć wpływu to czy dany budynek jest solid czy nie.. jak trozwiązać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Przy latajacych zamiast mp_potential_step (albo mp_grid), uzyj move_towards_point. Poukladaj sobie, kiedy ma tak byc, a kiedy nie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Do jednostek dodaj na przykład zmienną lata. Dla żołnierzy lata=false, dla latających jednostek lata=true. I tam gdzie masz kod na omijanie przeszkód daj warunek: GML if(!lata) { //kod na mijanie } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2010 Autor Udostępnij Opublikowano 27 Maja 2010 Mam właśnie move_towards_point. A budynki ustawione na solid:/ i chce mi je omijać przy ruszaniu.. Więc Candy Twoje nhie podziała tutaj.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Przy obiektach latajacych wylacz maske. UWAGA: ryzykowna metoda, jesli obiekt ma event kolizji albo inny obiekt ma event kolizji z jednostka latajaca. Te eventy nie beda dluzej dzialac. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2010 Autor Udostępnij Opublikowano 27 Maja 2010 No i o kant dupy.. bo mam własnie kod kolizji latających obiektów.. Więc nic nie da sie zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Ktore z tych skryptow uzywasz: move_towards_point, mp_potential_step, mp_grid_ ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2010 Autor Udostępnij Opublikowano 27 Maja 2010 A to jest jakasz różnica? GML if(ruch){ // idzie if(instance_exists(cel)){ // jezeli istniweje znacznik mouse cel.jednostka= id; if(point_distance(x,y,cel.x,cel.y)>5){ move_towards_point(cel.x,cel.y,speed_) //mp_potential_step(cel.x,cel.y,speed_,0) } } } Oba tak samo działaja.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Obiekt bedzie zatrzymywal sie przed kopalnia, poniewaz taka jest natura obiektu solid. Mozesz sprawdzic to: Zamiast move_towards_point wstaw: GML { x += lengthdir_x(speed_,point_direction(x,y,cel.x,cel.y)) y += lengthdir_y(speed_,point_direction(x,y,cel.x,cel.y)) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2010 Autor Udostępnij Opublikowano 27 Maja 2010 Wtedy też omija mi solida :glare: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 wat niemozliwe jak masz jakas kolizje tych obiektow z solid musisz ja wywalic Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 Wiec nie podales pelnego kodu Stepa. Podaj, wtedy cos wymysle. Byle szybko, nie mam duzo czasu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2010 Autor Udostępnij Opublikowano 27 Maja 2010 O działa:) Musiałem wyłączyć program jeszcze raz. Dobra super, dobry jeasteś:) Ale teraz co nastepuje- direction w związku z tym się nie zmienia objektu i przez to sprit także bo mam kod- GML ////// SPRIT OBIEKTU ZALEZNIE OD TEGO CO ROBI if(direction>0&&direction<180)sprite_index=spr_robotnica_gora if(direction>180&&direction<360)sprite_index=spr_robotnica_dol if(direction>0&&direction<45)sprite_index=spr_robotnica_prawo if(direction>325&&direction<360)sprite_index=spr_robotnica_prawo if(direction>135&&direction<180)sprite_index=spr_robotnica_lewo if(direction>180&&direction<225)sprite_index=spr_robotnica_lewo Jest ciągle na jednym spricie.. jak to rozwiązać? edit: direction=point_direction(x,y,cel.x,cel.y); Już ok!:) Niedługo dam demko::) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 27 Maja 2010 Udostępnij Opublikowano 27 Maja 2010 direction = point_direction(x,y,cel.x,cel.y) Wtedy zmien w lengthdirach drugi argument na direction. Bedzie szybsze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się