我遇到了SpriteBatch未使用指定「Trail」的修改Alpha繪製的問題。 我想要做的是一個「淡化效果」,其中「Item」的alpha值降低,使它變得更加透明,直到它最終被破壞。但它不會改變它的alpha? 阿爾法確實下降,但顏色的Alpha值沒有得到修改,它保持相同的顏色,然後自敗Sprite批處理不會更改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();
它只是忘記將它們包含在代碼中。我編輯它來包含它。 – PeppeJ 2011-03-29 14:27:13