Avatar
Energy
Člen
Avatar
Energy:

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:

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:

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:

Moc jsem tvoji odpověď nepochopil.

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

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Energy
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Energy
Člen
Avatar
Energy:

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.