Diskuze: Uložení všeho
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
A co všechno potřebuješ ukládat? "všechno se vším všudy" je celkem široký pojem
No nevím, co všechno by se mělo nezbytně ukládat, aby to fungovalo jak má. Používám gm 8.0 a než jsem začal používat surface, tak to vypadalo, že ten zabudovaný game_save stačí. Mám ve hře persistentní roomy, mezi kterýma můžu přecházet tam a zpět..globální proměnné...Ten surface potřebuju uložit, protože mám persistentní roomy, kde při určité údálosti se vytvoří surface, který mi slouží k tomu, aby byla ve hře noc. No a problém vzniká, když to uložím právě v noci a načtu hru, když už je zase den a hlasí to, že surface neexistuje. Jinak teda co všechno uložit no... tak asi aktuální stav všech roomu, všechny proměnné (i globální), objekty, surfaces...fakt nevím:D
Tak to udělej přes checkpointy a vždy u checkpointu ulož všechny proměnné atd. do txt soubory a pak opět načti. Co se týče těch surface apod. tak je při načtení nech vytvořit pouze zadej potřebné uložené hodnoty.
Nemám teda moc ponětí o tom, jak uložit všechny proměnné a objekty atd..když se nad tím zamyslím to bych tam musel u každého objektu ukládat i aktuálni pozici x,y?..Vlastně pro každou instanci, což už vůbec nevím jak bych udělal, když bych tam měl například 3 instance stejného objektu, tak jak tam napsat uložení pozice pro každou instanci.. to stejné s ostatními proměnnými. To stím surface to je dobrý nápad, díky:) Jen nevím do jakého to dát eventu. Při načtení se event room start nejspíš neprovede:/
Opravdu potřebuješ nutně ukládat úplně vše? Popř. k čemu?
Zkus použít tlačítko odpovědět.
No tak, když například hraješ nějaké RPG a uložís si hru třeba v půlce nějakého boje tak při načtení je taky vše jak bylo a ne, že nepřátele co šli proti tobě jsou najednou zase na startovních pozicích a mají plný život atd...Poradíš mi teda do jakého eventu dát to vytvoření surface při načtení, zkusil bych alespoň zatím tohle:)
To je dost složité (a možná zbytečné) ukládat téměř každý objekt. Tím checkpointem jsem myslel, aby jsi to udělal třeba v místnosti kde nepotřebuješ ukládat žádné info skoro, třeba město kam se portneš po boji.
Zkus použít Game Start.
Game Start nefunguje a četl jsem, že se provede jen při sputěšní hry v první místnosti.
Jak ti psal LordOfFlies musíš si uložit potřebné proměnné a při načtení savu je dosadit tam kam potřebuješ a vše to ošetřit viz. ty surfaci
Jj díky. Už mi ty surface fungují, když to uložím ještě před tím roomem, tak to zkusím ještě nějak pořešit, aby to fungovalo i přímo v tom, kde surface vzniká, pokud to půjde, tak žádný checkpointy řešit nemusím, když to ukládám přes game_save tak roomy i všechny proměnné jsou uložené, tak snad nevznikne žádný další problém, ty checkpointy by tu hru udělali moc hardcore
Tak už to funguje, tak jak jsem chtěl. Stačilo přidat ještě do step eventu tohle:
if (surface_exists(light))
{
surface_set_target(light);
draw_set_color(make_color_rgb(212,222,205));
draw_rectangle(0,0,view_wview,view_hview,false);
surface_reset_target();
}
else
{
light = surface_create(view_wview,view_hview);
}
Zobrazeno 13 zpráv z 13.