有誰知道如何將轉換應用於雪碧沒有SpriteBatch.Draw()
方法的機會?XNA雪碧轉換
(更新時評論) 這就是我需要的:我有一個圓形精靈。這張照片包含陰影。我需要拉伸這個圓(使橢圓)並旋轉它,但是我希望陰影不會將其位置改變爲橢圓。旋轉和縮放每幀改變一次。我認爲這是可能的矩陣轉換
有誰知道如何將轉換應用於雪碧沒有SpriteBatch.Draw()
方法的機會?XNA雪碧轉換
(更新時評論) 這就是我需要的:我有一個圓形精靈。這張照片包含陰影。我需要拉伸這個圓(使橢圓)並旋轉它,但是我希望陰影不會將其位置改變爲橢圓。旋轉和縮放每幀改變一次。我認爲這是可能的矩陣轉換
最後應用傳遞到SpriteBatch.Begin
的矩陣。使用此方法是通過SpriteBatch執行旋轉操作後實現縮放操作的唯一方法(假設您的縮放比例不均勻)。
缺點是,如果每個精靈的比例不同,則必須爲每個精靈開始一個新的批處理。
你的其他選擇是編寫你自己的精靈batcher - 但這似乎有點激烈。
謝謝!我找到了解決方案,但它是非常緩慢=(
this.displayMatrix =
Matrix.CreateTranslation(-(new Vector3(Position, 0))) *
Matrix.CreateRotationZ(1) *
Matrix.CreateScale(new Vector3(new Vector2(1f, 2f), 1)) *
Matrix.CreateTranslation((new Vector3(Position, 0)));
你的問題是沒有意義的,你可以嘗試改寫它你到底想達到 – 2010-11-08 12:59:35
我需要:??在第一旋轉精靈,然後縮放它。方法SpriteBatch.Draw()首先縮放sprite,然後旋轉它。 – 2010-11-08 13:23:11