Skocz do zawartości

Uśrednienie wartości zmiennej, b) Powtórki


Poo-ding

Rekomendowane odpowiedzi

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

@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

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...