trolu122 Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 jak zapisać ze akcja dzieje sie jesli obiekt jest w viewie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
47xxxxxxxx Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 Robisz skrypt o nazwie in_view: GML return x > viev_xview and x < view_wview and y > view_yview and y < view_hview ,a używaj go tak: GML if in_view { akcja } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 GML if in_view() { akcja } za dużo o triggerach w GM8 się naczytałeś ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 mam gm6 , jesli przeciwnik mnie widzi i jest w viewie to strzela robie if colision_line and (jesli jest w wievie) ale ani jeden ani drugi sposób nie dziala i nawet kiedy przeciwnik jest za wievem to do mnie strzela Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
47xxxxxxxx Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 Zmień in_view na : GML return collision_rectangle(view_xview,view_yview,view_wview,view_hview,argument0,1,false) , a używaj tak: GML if in_view(który_objekt) { akcja } Może zadziała. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 nie :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Lipca 2009 Administratorzy Udostępnij Opublikowano 15 Lipca 2009 GML if collision_rectangle(view_xview,view_yview,view_xview+view_wview,view_yview+view_hview,argument0,1,false) { ... } @47xxxxxxxx argumentami collsion_rectangle są x1,y1,x2,y2 a nie x1,y1,w,h :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 Nie lepiej użyć view_wport i view_hport? ;> Zawsze jest to 2 obliczenia mniej :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 nadal nie jest dobrze. moze źle opisałem problem, jeszcze raz i dokładnie: przeciwnik w stepie ma: GML if !collision_line( x, y, obj_player.x, obj_player.y, obj_block, 1, 1 ) {agresja=1} if agresja=1 {//kod na strzelanie}</span> odpalam gre, a tu leci na mnie grad kul. czyli trzeba ograniczyć kod aby działał tylko wtedy gdy przeciwnik jest w viewie, czyli widać go na ekranie, żaden z powyższych sposobów nie dziala Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Lipca 2009 Administratorzy Udostępnij Opublikowano 15 Lipca 2009 Bo kuźwa robisz kopiuj wklej, bez myślenia. GML if collision_rectangle(view_xview, view_yview, view_xview+view_wview, view_yview+view_hview, NAZWAOBIEKTU,1,false) { ... } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 pewnie jestem tępy :P ale co konkretnie tu wpisać jesli chce umiescić ten kod w stepie przeciwnika? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
47xxxxxxxx Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 Jak przeciwnkia to wpisz NAZWĘ PRZECIWNIKA. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 a moze gdzies deaktywujesz obiekty poza wiwem czy cos? zawsze możesz użyc distance_to_object wraz z colision_line i predzej to bedzie dobrze i przynajmniej sie skapniesz chyba co wpisac ;] . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Lipca 2009 Administratorzy Udostępnij Opublikowano 15 Lipca 2009 pewnie jestem tępy :P ale co konkretnie tu wpisać jesli chce umiescić ten kod w stepie przeciwnika? Wpisać nazwę obiektu, o którym chcesz wiedzieć, czy jest na ekranie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 step przeciwnika: if collision_rectangle(view_xview, view_yview, view_xview+view_wview, view_yview+view_hview, obj_player,1,false) najpierw podajemy przestrzeń o kształcie kwadratu, w tym przypadku bedzie to view, potem obiekt z którym przecinik ma kolidować, i jesli oba obiekty znajdują sie na podanej przestrzeni to coś tam, dobrze to rozumie? bo to nie działa :/ a dodam jeszcze ze w viewie zaznaczyłem object followin: obj_player Hbor: 320 Vbor 240, view ma rozmiar 640x480 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 Teraz jeżeli gracz będzie w viewie ( a zawsze będzie, skoro view podąża za graczem ) przeciwnik będzie do niego strzelać <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 15 Lipca 2009 Autor Udostępnij Opublikowano 15 Lipca 2009 nie kapuje tej funkcji, wybaczcie moją ciemnote, ale mógłby mi to ktoś napisać dobrze? to jest mój punkt wyjścia. step przeciwnika: if !collision_line( x, y, obj_player.x, obj_player.y, obj_block, 1, 1 ) {agresja=1} if agresja=1 {//kod na strzelanie} jak to zrobie to wypuszcze zapowiedź, dlatego mi zależy :P co znaczy GML id? wpisałem to i na razie działa, nic mi to nie napsuje w kodzie/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 15 Lipca 2009 Udostępnij Opublikowano 15 Lipca 2009 ID to unikalny numer każdego obiektu i zarazem jego uchwyt. Dzięki niemu możesz odwoływać się do danego obiektu. Po prostu dodaj po kolizji liniowej jeszcze jedną, prostokątną z tym, że zamiast obj_player daj właśnie ID. Dzięki temu obiekt będzie sprawdzał, czy kolizja prostokąta z samym sobą jest prawdziwa. 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ę