Я столкнулся с проблемой, когда SpriteBatch не рисует с измененной альфой указанного "Следа".
То, что я пытаюсь сделать, это «эффект затухания», когда альфа «Item» уменьшается, так что он становится более прозрачным, пока в конечном итоге не будет уничтожен. Однако это не меняет альфа на нем?
Альфа действительно уменьшается, но альфа-значение цвета не изменяется, оно остается тем же цветом и затем исчезает
Вот что происходит:
http://dl.dropbox.com/u/14970061/Untitled.jpg
И это то, что я пытаюсь сделать http://dl.dropbox.com/u/14970061/Untitled2.jpg
Вот фрагмент кода, который я сейчас использую.
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
for (int i = 0; i < Trails.Count; i++)
{
Trail Item = Trails[i];
if (Item.alpha < 1)
{
Trails.RemoveAt(i);
i--;
continue;
}
Item.alpha -= 255 * (float)gameTime.ElapsedGameTime.TotalSeconds;
Color color = new Color(255, 0, 0, Item.alpha);
spriteBatch.Draw(simpleBullet, Item.position, color);
}
spriteBatch.End();