alwin Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 Heya, słuchajcie nie mogę sobie poradzić z pewną sprawą. mam obj_hero i obj_bug. Jak zrobić że powiedzmy 5 obj_bullet tworzyło się na linii prostej od hero do wroga? w równych odstepach:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 funkcja for, liczenie odległości i lengthdiry to droga do sukcesu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 GML i = 1; dis = point_distance( obj_hero.x, obj_hero.y, obj_bug.x, obj_bug.y ); dir = point_direction( obj_hero.x, obj_hero.y, obj_bug.x, obj_bug.y ); repeat( 5 ) { instance_create( obj_hero.x + lengthdir_x( i * ( dis / 5 ), dir ), obj_hero.y + lengthdir_y( i * ( dis / 5 ), dir ), obj_bullet ); i += 1; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 GML instance_create(x+lengthdir_x(distance_to_object(bug)*0.2,point_direction(x,y,bug.x,bug.y)),y+lengthdir_y(distance_to_object(bug)*0.2,point_direction(x,y,bug.x,bug.y)),naboj); Ten sposób będzie działał na jednego buga o najmniejszym id, można zrobić, żeby działało na najbliższego, wtedy w point_direction i distance_to_object dajesz instance_nearest, tak mi się wydaje. Musisz dać 5 takich linijek, w każdej ma być kolejno 0.2, 0.4, 0.6, 0.8 i 1, tam gdzie jest ułamek w kodzie. Edit : Aj spóźniłem się :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 GML instance_create(x+lengthdir_x(distance_to_object(bug)*0.2,point_direction(x,y,bug.x,bug.y)),y+lengthdir_y(distance_to_object(bug)*0.2,point_direction(x,y,bug.x,bug.y)) Ten sposób będzie działał na jednego buga o najmniejszym id, można zrobić, żeby działało na najbliższego, wtedy w point direction instance_nearest, tak mi się wydaje. Edit : Aj spóźniłem się :) Spóźniłeś się to pierwsze, ale dałeś błędny kod. na linii prostej od hero do wroga? w równych odstepach:) Stworzy jeden bullet i do tego na odległości odl*0.2. Musisz dać 5 takich linijek, w każdej ma być kolejno 0.2, 0.4, 0.6, 0.8 i 1, tam gdzie jest ułamek w kodzieMój jest szybszy i łatwiejszy do napisania, więc nie potrzebne jest kopiowanie 5x linijki kodu :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 Mój jest szybszy i łatwiejszy do napisania, więc nie potrzebne jest kopiowanie 5x linijki kodu :D No w sumie tak, tylko że w twoim będzie tworzył tylko dla jednego wroga, a dokładnie do tego o najmniejszym id, zobaczymy, który kod wybierze alwin ;). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 No w sumie tak, tylko że w twoim będzie tworzył tylko dla jednego wroga, a dokładnie do tego o najmniejszym id, zobaczymy, który kod wybierze alwin ;). Na koński rozum może zrobić sobie instance_nearest(..).x itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 29 Marca 2010 Autor Udostępnij Opublikowano 29 Marca 2010 dzięki dzięki:) GML i = 1; dis=bullet_zasieg; dir = point_direction( x, y, near_wrog.x, near_wrog.y ); repeat( 5 ) { p=instance_create( x + lengthdir_x( i * ( dis / 5 ), dir ), y + lengthdir_y( i * ( dis / 5 ), dir ), obj_bullet_sunken ); p.strzela=true; p.bullet_type=attack_type; // wysylamy do rakiety info czy tower jest na latajace czy naziemne p.bullet_damage=bullet_damage; i += 1; } działa superancko:) a gdybym chciał aby nowe bullety(kolce wychodzące z ziemi) nie pojawiały sie wszystkie naraz tylko po kolei, zaczynając od pierwszego , od strony hera powiedzy co 1/3 sekundy? lepszy będzie efekt:) użyć alarmów? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 29 Marca 2010 Udostępnij Opublikowano 29 Marca 2010 Użyć. 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ę