XNA - texely vs. pixely – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

XNA - texely vs. pixely – .NET – Fórum – Programujte.comXNA - texely vs. pixely – .NET – Fórum – Programujte.com

 

Matěj Andrle+1
Grafoman
24. 7. 2014   #1
-
0
-

Dobrý den,
potřebuji vykreslit 2 výřezy - jeden sprite a pod ním část mapy po které chodí. První věc - chápu správně, že metoda Draw třídy SpriteBatch s parametry Texture2D;Vector2;Rectange?;Color vykreslí část z textury určenou obdélníkem na pozici vektoru? Snad je to logické, avšak výsledkem mého snažení je rozplizlý obrázek mapy a zcela OK hrdiny. Ovšem animace hrdiny se ani omylem neblíží realitě. Zkrátka vše se zdá být roztahané - znamená to, že texel != pixel? Pokud ano - jak mám převést pixelové výpočty na texelové? A pokud ano, proč je rozplizlá jen mapa? (hrdina se špatně animuje ale na jeho rozplizlost to nemá vliv, navíc některé části mapy jsou OK) Mapu renderuji kreslením do RenderTarget2D a pak z ní krájím. To co do ní vykresluji jsou dlaždice - dělá to rozplizlé pruhy a sem tam vídám správné krátké úseky cest.
Děkuji.

Nahlásit jako SPAM
IP: 78.136.136.–
Martin
~ Anonymní uživatel
1600 příspěvků
24. 7. 2014   #2
-
0
-

Asi by se hodilo přiložit screen kde je ten problém vidět, z toho popisu neni moc jasný co se děje. Ta metoda Draw funguje přesně jak píšeš, vykreslý část textury zadané obdelníkem na pozici. Z popisu problému mě napadá jen to, že pokud není pozice celé číslo tak to může způsobovat při vykreslování rozmazání.

Nahlásit jako SPAM
IP: 93.99.228.–
Matěj Andrle+1
Grafoman
24. 7. 2014   #3
-
0
-

Rozmazání vyřešeno - šlo o špatnou pozici v obrázku - ten byl kratší, než požadovaný výřez a tak se do velikosti doplnil opakováním. Očividně to sedí přesně - pixel == texel. Přesto mám pořád rozbitou animaci.

canvas.Draw
(
	hero,
	heroPosition,
	new Rectangle
	(
		currentGame.Hero.Frame * frameWidth,
		(currentGame.Hero.Action * 4 + currentGame.Hero.Direction) * frameHeight,
		frameWidth,
		frameHeight
	),
	Color.White
);

Obrázek hrdiny je udělán následovně: 4 směry pro každou akci, n rámců pro každou akci. V jádru hry (které je zcela odděleno) je to jen políčkově. (akce 1, rámec 5,...) Zkrátka nikde není možnost desetin - přesto to nesedí. Hrdinovy rámce létají v tom výřezu jako o život. V GTK a Formu to jede jak má. Co je zde jiné? Ha! Pozice 0, 0 také nejde - hrdina je useklý o pár PX vertikálně a pod nohama má další hlavu...

Nahlásit jako SPAM
IP: 78.136.172.–
Matěj Andrle+1
Grafoman
24. 7. 2014   #4
-
0
-

Už vím proč - ono to zmenšuje původní obrázek - proč? Takže teď kvůli tomu musím použít ten největší model metody Draw - úžasné... (zadat přesnou velikost obrázku)

Nahlásit jako SPAM
IP: 78.136.172.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

XNA — založil petr143

XNA — založil Honza

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý