Názory ke článku 2D hra v XNA - 2. díl - Pozadí a základní herní objekt
Pěkné počtení, hlavně aby ti psaní seriálu vydrželo. Jen tak dál ;-)
29. 9. 2008
jj myslim si ze je to docela hezke..a v srovnani v kodeni v Cpp pod DirectX/OpenGL je to o moc jednoduchsi a clovek si nemusi delat vlastni vykreslovani a jine veci..
jen skoda ze to bezi jen pod Windowsem :/
29. 9. 2008
Reagoval na komentář od uživatele WraCkeR :
Byly nějaké pokusy v rámci Mono, ale asi z toho sešlo.
Nevím, jestli se špatně koukám, ale chybí deklarace viewportRect napsáním do třídy Game1 tohoto: Rectangle viewportRect;
Bez tohoto řádku kódu to nefunguje. Musel jsem se kouknout na ten anglický videotutoriál, abych zjistil, co mám špatně. Inu, pokud mi nebude fungovat ještě něco, dám vědět.
jo, ještě chybí v třídě LoadContent tenhle kus kódu
viewportRect = new Rectangle(0, 0, graphics.GraphicsDevice.Viewport.Width, graphics.GraphicsDevice.Viewport.Height);
Bez toho se pozadí taky nevykreslí, protože sice je definován viewpordRect, ale není mu nic přiděleno...
14. 10. 2008
Ano deklarace tam chybi.
Nicmene u pozadi to jde vyresit jednoduse:
spriteBatch.Draw(Background,new Rectangle(0,0,background.Width,background.Height),Color.White);
u pozadi podle me nema cenu resit viewport protoze je staticke a nebude se nijak menit.
pripadne new Rectangle(0,0,800,600) coz sprit zvetsi nebo zmensi pokud by nemel velikost 800x600.
btw: nevite nekdo jak to vypada s dalsim dilem?
14. 10. 2008
Pomozte mi pls, ako zmenim nazov okna v xna. Nikde to nemozem najst, ani na nete :(
14. 10. 2008
nasel sem toho vice:
graphics.PreferredBackBufferWidth = 500;
graphics.PreferredBackBufferHeight = 500;
graphics.IsFullScreen = false;
graphics.ApplyChanges();
Window.Title = "Jmeno_titulku";
vsechno tohle patri do metody Initialize() v game1.cs
Aha, moje poslední editace se asi neuložila... Du to napravit.
EDIT: opraveno
Tonny: původně jsem přemýšlel jako ty, tudíž jsem tam místo viewportRect dal null, jenže když někdo u hry změní rozlišení, tak to asi bude fungovat jinak.
Na článku ještě pracuji, snad to brzo dopíšu.
4. 11. 2008
Jsem fakt rád, že se toho někdo chopil, taky už jsem přemýšlel, že bych něco takového začal psát. Ale pořád si myslím, že ty ENG jsou lepší pro člověka, kdo aspoň trochu ENG umí. Nechci ti kecat do tvé práce (je fakt záslužná), ale popisuješ to hodně rychle. Nevím jak ostatní, ale kdybych já nic nevěděl o XNA, tak se moc nechytám, chtělo by to trochu sem tam něco rozepsat, jako třeba s tím blendingem. Na co to je? Proč to tam musí být? I bez toho to přeci funguje. A tak, trochu se nad tím zamyslet, že to čte i člověk, který o tom nic neví.
Jinak neber to jako nějakou urážku, jen jako kritiku a když se ti bude chtít, tak se podle toho zařiď.
10. 11. 2008
Doporučoval bych se naučit jazyk nej bude dnes C# a XNA více na http://www.xna.xf.cz/ je to forum kde najdete tutoše atk,,
14. 11. 2008
Tak jsem skončil u vykreslování toho pozadí. Stažené soubory totiž mají koncovku ".tga" ono to po spuštění neustále hledá ".xnb". Konkrétně tedy "C:\Users\...\Visual Studio 2008\Projects\WindowsGame1\WindowsGame1\bin\x86\Debug\Content\Sprites\background.xnb". Přičemž soubor s pozadím je nahrán jako "C:\Users\...\Visual Studio 2008\Projects\WindowsGame1\WindowsGame1\Content\Sprites\background.tga". Ať dám Build, Rebuild, Publish tak žádné soubory ".xnb" nikde nevzniknou. Při spuštění se to pak zasekne na řádku "background = Content.Load<Texture2D>("Sprites\\background");" s tím že výše uvedený xnbsoubor neexistuje. Co s tím?
9. 12. 2008
Reagoval na komentář od uživatele Jakub :
Naprosto ten samý problém. Už jste ho někdo vyřešil?
Reagoval na komentář od uživatele Pitr :
Soubory musíte vložit přes Solution Explorer, aby o nich věděl kompilátor.
19. 12. 2008
Reagoval na komentář od uživatele Pitr :
Aha, ono se to nemá nahrát do složky projektu, ale přidat v Solution Exploreru do toho Content pod novou složku Sprites jako Add existing item... O tom tu není ani zmínka, stejně jako o fůře dalších dost podstatných věcích...
14. 10. 2009
Reagoval na komentář od uživatele Pítr :
Na začátku je duležitá informace že se předpokládají základy znalosti programování.
23. 12. 2009
Reagoval na komentář od uživatele Jakub :
Prostě přepiš tu cestu z Content.Load<Texture2D>("Sprites\\background");
na
Content.Load<Texture2D>("Content\\Sprites\\background");
To je absolutní cesta do adresáře. Já teda nevím v čem to autor programoval, ale když se to pustí ve Visual Studiu klasickém 2008 tak to nejde překompilovat no, ale jak to přepíšeš na tu novou cestu tak ti to pojede. Stejné to je i při loadování toho cannonu musíš tam zase přidat co "Content\\"
27. 11. 2010
chtěl bych se zeptad na nějaký pěkný program na tvorbu 2Dtextur .. hlavně postav .. a ve kterém by se dalo vymazat pozadí za objektem, aby tam nebyl takovy ten bílí obdélník například
1. 3. 2011
dubis misto Content\\Sprites\\background
tam ma byt jen Sprites\\background
a maril
Photoshop nebo gimp ;)
2D obrazek je z pohledu jen z jedne strany
pak staci napriklad z jpg udelat tga pres nejaky program a mas to
1. 3. 2011
dubisi :D omlouvam se udelal jsem si trapas :D jak jsem chtel pomoct maril(ovi) tak mi zustali oči
u slov Content\\Sprites\\background a hned jsem to bez přemysleni napsal :D
13. 10. 2013
v Game1.cs musi byt
public static Rectangle viewportRect;
jinak to v dalsim dile nejede .