spriteBatch
Vykreslování spritů probíhá pomocí instance spriteBatch v metodě Draw.
spriteBatch.Begin(); //zahájení vykreslování
spriteBatch.Draw(sprite, new Vector2(0, 0), Color.White*0.8f); //vykreslí textůru v bodě 0,0 s průhledností 20 procent
spriteBatch.Draw(sprite, position, null, Color.White, rotation, center, scale, SpriteEffects.None, 0); // nejdelší verze spriteBatchu
spriteBatch.DrawString(spriteFond, kolik.ToString(), new Vector2(10f, 50f), Color.White);
spriteBatch.DrawString(spriteFond,"AHOJ",position, Color.White);
//mělo by to tam být po vykreslení spriteBatch.DrawString ve 3D by to rozhodilo textury
Game.GraphicsDevice.BlendState = BlendState.Opaque;
Game.GraphicsDevice.DepthStencilState = DepthStencilState.Default;
Game.GraphicsDevice.SamplerStates[0] = SamplerState.LinearWrap;
spriteBatch.End(); //ukončení vykreslování
Parametry spriteBatch.Draw
- sprite – textura spritu (Texture2D)
- position – pozice spritu ve viewportu (Vector2(x,y)
- rectangle cílový obdelník do kterého se má textůra vykreslit (Rectangle(x,y,šířka,výška)
- color – barva osvětlení. Pokud zvolíme bílou, bude sprite vykreslen beze změny, když zvolíme zelenou, bude mít sprite zelený nádech. (Color)
- rotation – rotace spritu (float)
- center – bod otáčení textury-střed je šířka/2,výška/2 (Vector2(x,y)
- scale – násobek původní velikosti spritu. Pokud chcete sprite vykreslit zvětšený či zmenšený, je tento parametr ten pravý.(Vector2(float-šířka,float-výška))
- effects – efekt použitý při vykreslování. Vypadá to zajímavě, ale za atraktivním názvem se skrývá pouze horizontální či vertikální převrácení.
- layerDepth – vrstva, ve které je objekt umístěn (0 – front, 1 – back => 0.0f – 1.0f) Musí být v SpriteBatch.Begin nastavený parametr SpriteSortMode
Parametry spriteBatch.DrawString
- spriteFont – font textu
- "Ahoj" – samotný text vykreslení
- position – pozice textu ve viewportu (Vector2(x,y)
- color – barva osvětlení. Pokud zvolíme bílou, bude sprite vykreslen beze změny, když zvolíme zelenou, bude mít sprite zelený nádech. (Color)