Diskuze: Nahrávání jednotlivých levelů zvlášť

Ostatní jazyky GameMaker GameMaker Nahrávání jednotlivých levelů zvlášť

Avatar
Mici.naua
Člen
Avatar
Mici.naua:

Ahoj, mám následující dotaz:
Už docela dlouho pracuji na jedné 2D hře v GM. A přestože ještě nejsem ani v půlce tohoto díla, tak se hra při spuštění příliš dlouho načítá..

Lze nějak dosáhnout toho, aby se jednotlivé levely (o dvou až třech místnostech) načítaly při svém spuštění zvlášť, namísto toho, že se hra na začátku načte komplet celá?

 
Odpovědět 19.5.2012 11:38
Avatar
Odpovídá na Mici.naua
David Jančík [sczdavos]:

Ahoj,
pokud používáš větší množství zvuků, zkus jim odškrtnout preload Jinak tohle se v GM moc neřeší asi :/ setkal sem se, že se většina her načítá delší dobu. Jediné co můžeš udělat je, načítat nějaké zdroje externě - zvuky, obrázky jen nevím jestli to není pak moc složitý a jak to ve výsledku bude fungovat.

Nahoru Odpovědět 19.5.2012 12:00
Čím více času dostaneš, tím méně ho máš.
Avatar
Mici.naua
Člen
Avatar
Mici.naua:

Ozvučení jsem ve hře zatím vůbec neřešil, to nechávám až na konec. Spíše jde o velkou spoustu animovaných obrázků (samozřejmě se snažím paměť zatěžovat co nejméně, takže jednotlivé sprity v animacích hloupě nekopíruji, ale používám funkce jako je Image_speed, apod.)

Představoval jsem si to tak, že by se zpočátku nahrálo pouze menu a věcí s tím spojené. Jednotlivé levely by se nahrávaly z nějakých mnou vytvořených externích souborů Lvl1, Lvl2, atd.. Jen právě nevím, zda tohle v GM lze udělat...

 
Nahoru Odpovědět 19.5.2012 12:07
Avatar
Odpovídá na Mici.naua
David Jančík [sczdavos]:

Ahoj,
já tě chápu. Můžeš udělat, že projedeš místnost cyklem (všechny instance) a uložíš je do souboru, jako jejich umístění a co o nich potřebuješ vědět. Pak budeš při načítání roomu načítat ten soubor a vytvářet ty instance a rovněž tak obrázky a pak zvuky.

Nahoru Odpovědět 19.5.2012 12:28
Čím více času dostaneš, tím méně ho máš.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Mici.naua
David Čápka:

GM je v tomhle ohledu bohužel naprosto hloupý a je to daň za to, že neprogramuješ v nějakém plnohodnotném jazyce. Výhodou je samozřejmě zase rychlejší a jednodušší tvorba.

Jak píše David, můžeš si načítání řešit sám, neznám tvůj typ hry, ale obvykle se dělá to, že si vytvoříš např. 10 spritů zdi (spr_zed1, spr_zed2...) a ty si na začátku levelu načteš se souboru. V dalším levelu používáš ty samé sprity, ale nahraješ do nich zas jiné obrázky. V paměti máš tedy stále jen 10 spritů, ale v 10ti levelech máš 100 obrázků. Použiješ funkci:

spr_zed1 = sprite_add(...);

Parametry si z hlavy nepamatuji, ale řešilo se to tu ve fóru.

Nahoru Odpovědět 19.5.2012 12:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 19.5.2012 12:34
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Mici.naua
Člen
Avatar
Odpovídá na David Jančík [sczdavos]
Mici.naua:

A jak to lze provézt? Nemám s tím žádnou zkušenost..

 
Nahoru Odpovědět 19.5.2012 12:34
Avatar
Mici.naua
Člen
Avatar
Odpovídá na David Čápka
Mici.naua:

To bych ty obrázky ale musel mít všechny v nějaké složce předpokládám.. Pokud by je ale nějaký hráč potom ze složky smazal nebo poupravil, tak se tím celá hra poškodí (což samozřejmě nechci)... Nejde z těch obrázků udělat pro hráče nějaký needitovatelný soubor, který by si ale zároveň ta hra dokázala pro sebe přečíst a čerpat z něj?

 
Nahoru Odpovědět 19.5.2012 12:40
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Mici.naua
David Čápka:

O tom nevím, ale nemyslím si, že by ti někdo kradl obrázky, k čemu by mu to bylo? Takový člověk co krade je většinou neschopný, takže by hru s tvými obrázky stejně ani nenaprogramoval.

Nahoru Odpovědět 19.5.2012 13:07
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Mici.naua
Člen
Avatar
Odpovídá na David Čápka
Mici.naua:

Jde mi o to, že když si tam do těch obrázků někdo něco přikreslí, tak je ta hra znehodnocena. A tomu bych chtěl právě předejít...

Jinak pokud bych před každým levelem vždy externě nahrál obrázky do paměti, lze je poté z paměti zase smazat?

 
Nahoru Odpovědět 19.5.2012 13:15
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Mici.naua
David Čápka:

A k čemu by mu to bylo, že by tam něco přikreslil? Myslíš jako, že by se to rozšířilo? O tom dost pochybuji, zdrojové kódy máš ty a možnosti z hlediska editace grafiky jsou minimální. A opět jde o to: kdo by se k tomuhle snížil, nebude mít na to, aby to dotáhl do konce nebo nějak rozšířil. Opravdu bych se toho nebál, má to tak hodně her a věci jako postavy atd budeš mít v GM, řešíme jen pár sad zdí a podobně. Nebál bych se.

Psal jsem ti, že budeš mít jen 10 spritů, ty budeš vždy přepisovat, poslal jsem ti i kód. Nic tedy nemusíš ani tvořit ani mazat, jen do existujících spritů nahráváš obrázky z disku.

Nahoru Odpovědět 19.5.2012 13:24
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Zdeněk Pavlátka:

Jde to v neregistrované verzi GM?

Nahoru Odpovědět 18.6.2012 15:51
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 18.6.2012 15:55
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.