XNA: realizace větší hry   zodpovězená otázka

C#, XNA

Rád bych se zeptal, jak realizovat např. více levelů ve hře v XNA. Nacpat to vše do jedne Microsoft.Xna.Framework.Game se mně moc nezdá.

Já bych pro každý level udělal jednu Microsoft.Xna.Framework.Game, ale co když potřebuju předávat mezi nimi data?

Potřeboval bych nějak "nakopnout" jak nato.

díky moc

Tom

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přepínat v XNA mezi několika třídami Game jsem zkoušel a nějak to moc nefungovalo. Dělit hru do více Game podle jednotlivých levelů se mi ale nezdá, nevím, k čemu by to bylo. Budou se jednotlivé levely lišit tak zásadně, aby je nemohl obsluhovat stejný kód? Pokud ano, tak budete mít pouze několik typů levelů, tak můžete pro každý udělat nějakou třídu zděděnou od Level, která bude mít metody Update, Draw atd. jako Game, ale budete je volat z původní hry podle toho, ve kterém levelu hráč je.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

V XNA třída Game představuje jednu hru. Už z principu není tedy čisté (a možná ani realizovatelné, nevím, nezkoušel jsem to) použít ji jako jednotlivé levely.

Optimálním řešením je navrhnout vlastní třídy, které budou herní úrovně představovat. Hlavní herní modul je pak bude jednotlivě využívat a nějakou univerzální cestou i zobrazovat a nabízet hráči.

Jak to konkrétně udělat se bude ovšem přímo odvíjet z toho, co přesně bude hrat dělat - objektový návrh se vždy dělá na míru požadavkům řešení a obecně platí, že čím obecnější, tím složitější.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback