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.
Fórum › .NET
XNA - texely vs. pixely
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í.
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...
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)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Procenta a pixely v HTMl stránkách — založil HoHo
Jak pracovat s bufferem s pixely — založil oxidián
Moderátoři diskuze