NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
IT rekvalifikace s podporou uplatnění. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Avatar
Energy
Člen
Avatar
Energy:5.1.2013 17:44

Ahoj může mi někdo prosím poradit jak mám např u stisknutí klávesy změnit Texture2D? Na vykreslování používám spriteBatch asi něco takového "spriteBatch.Draw(hrac, new Vector2(220, 220), Color.White);"

 
Odpovědět
5.1.2013 17:44
Avatar
trixxcz
Člen
Avatar
trixxcz:5.1.2013 19:09

Ulož si je do nějakýho pole nebo listu, podle situace :) Asi tak bych to řešil já :)

 
Nahoru Odpovědět
5.1.2013 19:09
Avatar
Energy
Člen
Avatar
Odpovídá na trixxcz
Energy:5.1.2013 20:18

Musím doplnit místo "hrac" "active_hrac".

spriteBatch.Draw(hrac, new Vector2(220, 220), Color.White);

Zkoušel jsem to už proměnnou a v metodě Update při stisku tlačítka změnit hodnotu na "active_hrac", ale vyžaduje to typ Texture2D.

 
Nahoru Odpovědět
5.1.2013 20:18
Avatar
Energy
Člen
Avatar
Odpovídá na trixxcz
Energy:5.1.2013 20:21

Moc jsem tvoji odpověď nepochopil.

 
Nahoru Odpovědět
5.1.2013 20:21
Avatar
trixxcz
Člen
Avatar
trixxcz:6.1.2013 11:17

No, teď taky nevím jestli to chápu správně já. Ale musíš si v metodě LoadContent načíst obě textury například do proměnných Texture2D aktivní, neaktivní (nebo do jednoho pole). Pak po stisku klávesy prostě dodáš buď jednu, nebo druhou texturu do proměnné hráč, která samozřejmě bude vyžadovat typ Texture2D, když jí v metodě Draw uvádíš jako texturu... :)

 
Nahoru Odpovědět
6.1.2013 11:17
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Energy
David Hartinger:6.1.2013 11:50

U animovaných obrázků se to dělá většinou tak, že si jednotlivé framy uložíš do jednoho obrázku vedle sebe. Potom k vykreslení používáš přetížení metody Draw(), kde lze specifikovat oblast ze zdrojové textury, kterou chceš vykreslit, je to parametr typu Rectangle.

Nahoru Odpovědět
6.1.2013 11:50
New kid back on the block with a R.I.P
Avatar
Energy
Člen
Avatar
Energy:6.1.2013 14:59

Už jsem na to přišel je to tak jednoduché... :D

Texture2D hrac, hrac_active;

Update:

 if (klavesy.IsKeyDown(Keys.Space))
            {
                hrac = active_hrac;
            }

Draw:

spriteBatch.Draw(hrac, new Vector2(220, 220), Color.White);
Editováno 6.1.2013 14:59
 
Nahoru Odpovědět
6.1.2013 14:59
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 7 zpráv z 7.