【发布时间】:2011-07-25 08:16:58
【问题描述】:
我遇到了一个问题,即 SpriteBatch 无法使用指定“Trail”的修改后的 Alpha 进行绘制。 我正在尝试做的是“淡化效果”,其中“项目”的 alpha 减小,因此它变得更加透明,直到最终被破坏。但是它不会改变它的alpha吗? alpha 确实降低了,但颜色的 alpha 值没有被修改,它保持相同的颜色,然后消失
会发生以下情况: 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();
【问题讨论】: