我想允許用鼠標滾動縮放並將縮放值傳遞給我的每個可繪製對象。每個可繪製對象都採用縮放值並使用SpriteBatch.Draw方法的縮放參數。儘管縮放每個單獨的項目並不適用於所有其他對象。是否有某種我可以繪製所有內容的畫布,然後將其縮小以便一切都適當放大?XNA - 全球縮放
1
A
回答
3
使用採用Matrix
參數的SpriteBatch.Begin
方法。通過一個scaling矩陣:
Matrix scaleMatrix = Matrix.CreateScale(myScale);
sb.Begin(SpriteSortMode.Deferred, null, null, null, null, null, scaleMatrix);
你應該使用這個參數來進行你的精靈的所有「全局」轉換。所以你可以結合(乘)一個平移和一個尺度矩陣來移動和放大你的2D場景。
1
在相機中,你必須重新創建視圖,改變視場較小的值:
Matrix.CreatePerspectiveFieldOfView(
MathHelper.PiOver4, // change this to, say 20°
aspectRatio,
0.0001f,
1000.0f,
out projection
);
現在,因爲你使用相機的投影在你的影響這種變化是全球性的
相關問題
- 1. UI縮放 - XNA
- 2. XNA sprite縮放
- 3. Azure CosmosDB全球範圍縮放
- 4. XNA窗口縮放性能
- 5. XNA中的縮放問題
- 6. XNA球運動
- 7. C#XNA球移動
- 8. 禁用Windows 10重新縮放xna/monogame
- 9. 縮放整個屏幕在XNA
- 10. jquery jplayer圈子球員縮放
- 11. 使用openGL旋轉縮放的球體
- 12. C#XNA槳球遊戲
- 13. 變換:縮放到全屏?
- 14. 全屏SVG無縮放
- 15. 全屏縮放FlashPunk遊戲
- 16. 縮放圖像全屏
- 17. WordPress的 - 屏幕縮放全
- 18. 全球熱鍵釋放(鍵控)? (WIN32 API)
- 19. clojureql,開放的全球與-結果
- 20. 私人全球與公共全球
- 21. 什麼是:全球(冒號全球)呢?
- 22. XNA全屏失敗
- 23. Xna相機放置
- 24. 在XNA中縮減Texture2D
- 25. XNA 2D攝像頭,支持任意縮放中心
- 26. 在XNA vs Primitives中使用spritebatch進行負向縮放
- 27. C#XNA 4.0在窗口中縮放旋轉的精靈位置
- 28. XNA中模型的伸長或縮放的肢體
- 29. 縮放所有圖像到控制檯大小XNA
- 30. XNA 2D攝像機拖動鼠標縮放最終縮小更多然後在
這個答案並不正確。 – 2011-05-28 03:10:45
@Andrew Russel:爲什麼?它適用於我 – BlackBear 2011-05-28 12:22:10
問題是2D圖形。你的答案是3D。 – 2011-05-28 14:17:42