Poo-ding Opublikowano 14 Listopada 2011 Udostępnij Opublikowano 14 Listopada 2011 Cześć. Trapią mnie 2 problemy odnośnie gma. Najsampierw rozglądałem się po forum, sięgnąłem nawet po wyszukiwarkę, atoli nie natknąłem się na temat który rozwikłałby niepokojące mnie problemy. Oto one: 1. Czy w aplikacji gamemaker 8 , można zastosować jakąś nieskomplikowaną formułę, która pozwalałaby uśrednić wartość danej zmiennej we wszystkich obiektach danego typu? Być może nie wyraziłem się jasno, więc przedstawie ten ambarans na nowo. Otóż, przykładowo, mamy obiekt: o_garnek , on natomiast posiada kod (w zakładce 'create') GML woda=random(10) . W programie uczestniczy także inny obiekt o_draw którego głowa jest zaprzątnięta rysowaniem różnych zmiennych. Czy jest możliwe aby ten zapracowany obiekt o_draw, zajął się jeszcze przedstawieniem uśrednionej zmiennej 'woda' wszystkich obiektów o_garnek ? Czy jest na to jakaś niewymagająca receptura? 2. Drugie zagadnienie jest niechybnie o wiele bardziej znojne. Mam tu na myśli tworzenie powtórek z gry. Czy jedynym rozwiązaniem aby stworzyć powtórkę z gry jest zapisywanie wszelkich zmiennych które wpływają na to, co jest wyświetlane na ekranie monitora ? A co jeśli w danej grze obiektów jest cała masa, a każdy z nich posiada do licha i trochę zmiennych ? Tworzenie kodu do systemu tworzącego w ten sposób powtórki musi być niezmiernie trudne... aż rozbolały mnie od tego korzonki. Może istnieje jakiś sprytniejszy pomysł, który znacie? A może gdzieś w czeluściach tego portalu znajduje się sekretny kod, lub przykładowy program który ujawnia jak to zrobić? Uff.. to wszystko co miałem do napisania. Mocno wierzę, że ktoś udzieli mi wsparcia :) Cześć! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sminer Opublikowano 14 Listopada 2011 Udostępnij Opublikowano 14 Listopada 2011 Czyli w create wod losuje sie od 1 do 10. Wpisujesz np w Draw. GML if woda = 1 { draw_sprite(x,y,Obrazek) } if woda = 2 { draw_sprite(x,y,Obrazek2) } Jezeli oczywiscie dobrze cie zrozumialem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 14 Listopada 2011 Udostępnij Opublikowano 14 Listopada 2011 @sminer: myślę że mu nie chodzi o obrazek ale o tekst :D 1. w create o_garnek: GML woda = random(10) o_draw.srednia += woda w create o_draw GML srednia = 0 w draw: GML draw_text(x,y,srednia/instance_number(floor(o_garnek))) nie jestem do konca pewien czy dobrze bo pisze z glowy a nie mam jak sprawdzic :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 14 Listopada 2011 Udostępnij Opublikowano 14 Listopada 2011 1. W Draw o_draw: GML var i; with(o_garnek) i += woda draw_text(x,y,string(i/instance_number(o_garnek))) Będzie przedstawiało na bieżąco średnią wody w garnkach. Niezbyt szybkie, ale nadaje się. 2. Zastanawiałem się kiedyś nad tym problemem, ale trzeba to zrobić tak, jak mówisz. W pierwszej klatce powtórki wszystkie zmienne, w następnych tylko te zmieniające się. Tak jest we właściwie każdej grze, np. killcam z CoD, demo z Quake'a, cofanie czasu w Timeshifcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Poo-ding Opublikowano 19 Listopada 2011 Autor Udostępnij Opublikowano 19 Listopada 2011 Dzieki za odpowiedzi. Mam jeszcze jeden problem, a nie chciałem tworzyć nowego tematu więc myślę, że szybko się z nim uwiniemy tutaj. Otóż, czy jest możliwe zapisanie gry (metodą gotowego systemu wbudowanego w gm) lecz w taki sposób aby jedna konkretna zmienna nie ulegała zapisaniu ? Czy jest na to jakiś łatwy sposób? Czy może trzeba od nowa napisać swój własny system na zapisywanie gry? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 19 Listopada 2011 Udostępnij Opublikowano 19 Listopada 2011 Był przykład powtórek :) A co do zmiennej to walnij w game_start albo przez zapisem zmienna=0 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ę