Owex Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 Witam. Otóż mam taki problem: chciałbym aby jeden obiekt przechowywał informacje o takich zmiennych jak hp, sila i mana. Chodzi o to, że np. hp=(sila+mana)/2, a np. później kiedy będę chciał zmodyfikować system obliczania hp to zamiast zmieniać tę linijkę w iluś tam obiektach wystarczy że zmienię w tym jednym obiekcie. Także siła uderzenia npc będzie w taki sposób przechowywana. Ale jak zrobić żeby każdy obiekt miał swoje własne dane sila i mana a hp i siła uderzenia będą wyliczane automatycznie. Próbowałem różnych kodów ale żaden nie działał poprawnie. Mam nadzieję że wyraziłem się zrozumiale. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 Masz powiedzmy 3 zmienne, które są od siebie zależne. Chcesz edytować jedną i by pozostałe automatycznie się obliczały względem jej wartości, tak? Tak to zrozumiałem. Więc zamiast w podstawowy sposób przypisywać wartości do zmiennej: GML zmienna1=10; Zrób sobie skrypt, który zrobi to i po prostu go wywołuj: GML ustaw_zmienna1(10); Skrypt będzie wyglądał tak: GML zmienna1=argument0; zmienna2=zmienna1+100; //Tutaj ustawiasz zmienną drugą zależną od 1 jak tam Ci się podoba. zmienna3=(zmienna1+zmienna2)/2 //Tutaj sobie trzecią zmienną ustalasz jak Ci się podoba.</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Owex Opublikowano 26 Marca 2011 Autor Udostępnij Opublikowano 26 Marca 2011 Chodzi mi o to, że w obiekcie który ma przechowywać informacje o obliczaniu wartości hp i siły uderzenia ma być jedynie taki skrypt (nie koniecznie identyczny ale działający podobnie) GML hp=(sila+mana)/2 Próbowałem go tak zapisać ale program upominał się o wartości dla 'sila' i 'mana'. I teraz nie wiem jak go zapisać żeby wyglądało to tak, że w obj. hero zapisuję tylko tyle: GML sila=10; mana=10; //hp jest obliczane automatycznie ze wzoru który napisałem w obiekcie który te informacje o obliczaniu przechowuje</span> i w hero czy obj. npc nie zapisuję nic oprócz sila i mana a hp samo się liczy. To samo z siłą uderzenia. Byłby jedynie zapisany kod w obiekcie który te informacje przechowuje " uderzenie=sila/2 " a w kolizji z hero skrypt "hero.hp-=uderzenie". Może teraz jest jaśniej wyjaśnione Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 No toż kurde, robisz tak jak powiedziałem. Robisz sobie skrypt, który nazywa się Ustaw(): GML sila=argument0; mana=argument1; hp=(sila+mana)/2; I w obiekcie zamiast ustawiać zmienne, wywołujesz ten skrypt: GML Ustaw(5,10); //Ustawi sile na 5, mane na 10 i wyliczy hp.</span> 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ę