Pablo-GM Opublikowano 28 Października 2011 Udostępnij Opublikowano 28 Października 2011 Witam , mam wydaje mi się prościutki problem z którym sam sobie nie mogę poradzić : ) Otóż obiekt o1Potwor w create tworzy sobie obiekt o1Nogi , wszystko gra do momentu gdy na mapie wrzucę więcej niż jednego potwora (błąd tkwi w ustawieniu x i y jego nóg).Problem polega na tym , że nogi tworzą się tylko pod jednym spośród wielu potworów . O to kod o1Nogi : GML x=o1Potwor.x y=o1Potwor.y image_angle = o1Potwor.image_angle; if o1Potwor.ide=1 { image_speed=0.3; } else { image_speed=0 } if o1Potwor.hp<=0 { instance_destroy(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 28 Października 2011 Udostępnij Opublikowano 28 Października 2011 Może powiedz co się dzieje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 28 Października 2011 Autor Udostępnij Opublikowano 28 Października 2011 Whops , już edytowałem . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 28 Października 2011 Udostępnij Opublikowano 28 Października 2011 W GMie wyróżniamy dwa pojęcia: Obiekt - czyli wzorzec, jak mają wyglądać instancje Instancja - czyli konkretny przedstawiciel gatunku Można przyjąć sobie, że obiekt to np. pies, a instancje psa to jakiś Azor, Burek, Reksio itd. To, co tworzysz w roomie to właśnie instancje danego obiektu. Każda instancja posiada swój identyfikator. Cały czas odwołujesz się do obiektu, np: GML x=o1Potwor.x y=o1Potwor.y Podczas gdy chodzi ci o konkretną instancję, posiadacza nóg. Ta sztuczka działa, ale tylko wtedy, gdy masz jedną instancję obiektu w roomie. Inaczej będzie się wciąż odwoływać do tego jednego przedstawiciela - a nie o to nam chodzi. Rozwiązanie? Gdy tworzysz w o1Potwor nogi, to pisz: GML mojeNogi = instance_create( x, y, o1Nogi ); mojeNogi.mojWlasciciel = id; Wówczas zmienna mojeNogi przechowuje unikalny identyfikator nóg danego potwora, a mojWlasciciel na odwrót: unikalny identyfikator właściciela nóg. Teraz wszędzie zamiast o1Potwor w kodzie nóg pisz mojWlasciciel i wszystko powinno działać. Gotowiec: GML x=mojWlasciciel.x y=mojWlasciciel.y image_angle = mojWlasciciel.image_angle; if mojWlasciciel.ide=1 { image_speed=0.3; } else { image_speed=0 } if mojWlasciciel.hp<=0 { instance_destroy(); } No i Create potwora, czy gdzie tam masz tworzenie nóg: GML mojeNogi = instance_create( x, y, o1Nogi ); mojeNogi.mojWlasciciel = id; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 28 Października 2011 Autor Udostępnij Opublikowano 28 Października 2011 Dziękuje serdecznie , że mi to wyjaśniłeś tak dokładnie . 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ę