BackToTheFuture Opublikowano 30 Stycznia 2011 Udostępnij Opublikowano 30 Stycznia 2011 Witam, Jako, że zaczynam zabawe z GameMakerem mam pare pytan. Zamierzam zrobić platformówke, więc potrzebni są przeciwnicy, i troche bardziej podrasowani od tych w mario ;) Oprócz chodzenia w prawo i w lewo chciałbym, żeby atakowali. Jak zrobić żeby przeciwnici ruszali sie w lewo i prawo a gdy bohater pojawi się w zasiegu żeby przestał krązyc i pobiegł w strone bohatera,zatrzymał się przy nim i zaczął atakować np co dwie sekundy zabierac bohaterowi po 5hp jak bedzie przy nim. Prosił bym o dokładne rozpisanie, sam probowalem ale mi nie wychodziło ;(. Drugim problemem jest zrobienie wody. Jak zrobić taki polprzezroczysty obiekt w ktorym bohater porusza się wolniej. To niby proste, ale nie wiem jak zrobic ten pol przezroczysty obiekt ;( Dziękuje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 30 Stycznia 2011 Udostępnij Opublikowano 30 Stycznia 2011 1. Zrób sobie obiekty odpowiedzialne za wroga kierunek czyli lewy i prawy, następnie oznacz im visible, aby były nie widoczne ( visible, klikasz dwa razy w jakiś obiekt i po lewej stronie masz napisy Visible i Solid, kliknij w Visible.) Później ustawiasz je sobie w roomie na krawędziach, tam gdzie masz tych wrogów. W kolizji z prawym, dajesz kod: GML hspeed = 7 a z lewym: GML hspeed = -7 Jeżeli obiekt zbliży się na pewną odległość, to zaczyna do nie go iść czyli: GML if distance_to_object(object1) < 200 { move_towards_point(object1.x,y,4) } W kolizji z wrogiem daj kod: GML if alarm[0] =-1 { alarm[0]=60 } W alarm[0] : GML lives-=2 2. Daj w create wody kod: GML image_alpha=0.5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabijaka Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 Spowolnienie w wodzie CREATE GML spowopnienie=false przy kolizji z wodą: GML spowolnienie=true i w step, tam gdzie masz kod chodzenia GML if spowolnienie=false{ speed = 9 } else if spowolnienie=true{ speed = 5 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Saus Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 Jeszcze co do kodu Cordoby; nie trzeba 2 obiektow odpowiedzialnych za odbijanie w prawo i lewo, wystarczy 1 z kodem: GML hspeed *= -1 I będzie Ci poprostu odbijac w przeciwna stronę. Duzo wygodniej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 31 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 31 Stycznia 2011 Spowolnienie w wodzie CREATE GML spowopnienie=false przy kolizji z wodą: GML spowolnienie=true i w step, tam gdzie masz kod chodzenia GML if spowolnienie=false{ speed = 9 } else if spowolnienie=true{ speed = 5 } Lepiej skorzystać z place_meeting zamiast eventu kolizji Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 Tylko jeszcze jedno małe pytanko: jak za pomocą GMLa zmienic sprite? Chodzi mi o komende tylko, nie moge jej znależć. :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 GML sprite_index = twoj_obrazek; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 :o Myslalem ze to cos skomplowanego xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 31 Stycznia 2011 Autor Udostępnij Opublikowano 31 Stycznia 2011 Dziękuje za pomoc :) Jeszcze maly problem: Jak zrobic zeby tego zycia nie zabierało kieby zginie przeciwnik? bo jest cos takiego: podchodzi do mnie i zabiera mi iles tam hp co jakis czas. Kiedy on zginie i juz zamienia sie w inny obiekt to to ten jeszcze raz mi zabiera tego zycia. Jak zrobic zeby po smierci przeciwnika juz nie zabieralo mi jednorazowo tego hp? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 31 Stycznia 2011 Udostępnij Opublikowano 31 Stycznia 2011 Sprawdzasz czy instancja atakowanego wroga istnieje, sprawdzasz dystans pomiędzy wrogiem, jeśli jest mniejszy niż ileś tam, to atakuje (użyj alarmu), w przeciwnym wypadku nie atakuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 31 Stycznia 2011 Autor Udostępnij Opublikowano 31 Stycznia 2011 Eee no tak chyba nie zrozumiales. On atakuje dobrze poprawnie. Tylko ze ten maly problem jest ze ten alarm sie wlacza zanim ten przeciwnik zginie, a jak bedzie juz martwy to i tak ten alarm musi sie skonczyc. czyli np zabilem go, sekunda mija a mi jeszcze hp spada jednorazowo, a potem jest juz dobrze. Wiec jak mam zrobic cos takiego ze po zabiciu go ta akcja z alarmem sie anuluje, nawet jak ten alarm juz sie wlaczyl? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 31 Stycznia 2011 Administratorzy Udostępnij Opublikowano 31 Stycznia 2011 alarm[jakis] = -1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 31 Stycznia 2011 Autor Udostępnij Opublikowano 31 Stycznia 2011 Dziekuje poradzilem sobie jakos :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 Nastepne pytanko.. Jak zrobic zeby postaci ktora gram zostala ilosc zycia z poprzedniego roomu? czyli np jesli mi w pierwszym roomie spadlo zycie do polowy to jak zrobic zeby w nast roomie mial ta wlasnie polowe a nie max tak jak na poczatku? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Przed nazwą zmiennej dopisz "global." w każdym miejscu w którym ta zmienna się znajduje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 a jak to jest pasek zycai robiony na kostkach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 what ? Każda kostka to oddzielna instancja ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Mu chodziło raczej o klocek 'draw health'. Musisz zamienić te klocki na kod bo nie da zmienić w nich nazwy zmiennej. Zapewne używałeś klocków 'set health' no więc daj zamiast nich: GML global.zycie = tutaj wartosc; wersja z zaznaczonym relative wygląda tak: GML global.zycie += tutaj wartosc; Zamień także klocek od rysowania 'draw health' na funkcję: GML draw_healthbar(x1, y1, x2, y2, global.zycie, kolor1, kolor2, kolor3, kierunek, pokazuj tło, pokazuj ramkę); x1 x2 y1 y2 to pozycja paska taka sama jak ta z klocków. kolor1,2,3 - kolory paska, możesz tutaj użyć stałych np. c_blue, c_yellow itp. kierunek - jak wpiszez 0 to pasek będzie się kurczył w lewo, 2 - w prawo, 3 - w górę, 4 - w dół pokazuj tło - jak ustawisz na 0 to nie będzie wyświtlany kolor1, 1 - będzie pokazuj ramkę - to samo dla wyświetlania ramki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Albo można to zrobić inaczej: Zrób zmienną życie w create, czyli GML global.zycie=100 i w step daj: GML health=global.zycie no i jak Ci odejmuje życie to, musisz odejmować za pomocą tej zmiennej (global. zycie ), czyli: GML global.zycie-=5 dzięki czemu nadal będziesz mógł rysować health na klocku, ale zrób jak chcesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 1 Lutego 2011 Autor Udostępnij Opublikowano 1 Lutego 2011 Wielkie dzieki za pomoc :D Jakos dalem rade :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 1 Lutego 2011 Udostępnij Opublikowano 1 Lutego 2011 Czasem health nie jest zmienną globalną? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Lutego 2011 Administratorzy Udostępnij Opublikowano 1 Lutego 2011 A i owszem, predefiniowaną. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 2 Lutego 2011 Autor Udostępnij Opublikowano 2 Lutego 2011 e no wlasnie dalej mam ten sam problem. Po kazdym roomie mam nowe zycie. Nadal nie wiem jak zrobic to. Jakies pomysly dlaczego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 2 Lutego 2011 Udostępnij Opublikowano 2 Lutego 2011 Może w każdym roomie masz obiekt kontrolny, który ustawia hp znów na maks ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 2 Lutego 2011 Autor Udostępnij Opublikowano 2 Lutego 2011 Dziekuje pomoglo :) Tak, mialem taki objekt, a ja glupi zapomniałem o tym. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BackToTheFuture Opublikowano 4 Lutego 2011 Autor Udostępnij Opublikowano 4 Lutego 2011 No to jeszcze jedno. Skoro woda jest obiektem to jak zrobić, żeby jakiś inny obiekt był w niej? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 5 Lutego 2011 Udostępnij Opublikowano 5 Lutego 2011 To zależy od tego jak wygląda ten obiekt jeśli jest to pojedyńcze jeziorko to najłatwiej przy kolizji z jeziokiem dać żeby zmieniam sprita na pływa i pobawić się z depth' em. Nie pamiętam jak to z nim było ale chyba im mniejszy tym obiekt jest wyżej ale musisz to sprawdzić 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ę