我想允許用鼠標滾動縮放並將縮放值傳遞給我的每個可繪製對象。每個可繪製對象都採用縮放值並使用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. XNA sprite縮放
- 2. UI縮放 - XNA
- 3. Azure CosmosDB全球範圍縮放
- 4. XNA窗口縮放性能
- 5. XNA中的縮放問題
- 6. EXE全球放緩
- 7. XNA球運動
- 8. C#XNA球移動
- 9. 縮放整個屏幕在XNA
- 10. XNA - 繪製縮放2D精靈
- 11. 禁用Windows 10重新縮放xna/monogame
- 12. 縮放圖像到全寬和縮放
- 13. 縮放至全屏?
- 14. jquery jplayer圈子球員縮放
- 15. OpenGL繪圖地球如何縮放點
- 16. 使用openGL旋轉縮放的球體
- 17. C#XNA槳球遊戲
- 18. 全屏縮放FitBounds縮小爲0
- 19. 全屏縮放FlashPunk遊戲
- 20. 全屏SVG無縮放
- 21. D3完全刪除「縮放」
- 22. WordPress的 - 屏幕縮放全
- 23. 縮放圖像全屏
- 24. 變換:縮放到全屏?
- 25. 我的XNA應用程序的全球化或本地化?
- 26. XNA伸縮精靈
- 27. 網站的全球音頻播放器
- 28. LINQ查詢應放慢全球ASAX
- 29. 全球熱鍵釋放(鍵控)? (WIN32 API)
- 30. clojureql,開放的全球與-結果
這個答案並不正確。 – 2011-05-28 03:10:45
@Andrew Russel:爲什麼?它適用於我 – BlackBear 2011-05-28 12:22:10
問題是2D圖形。你的答案是3D。 – 2011-05-28 14:17:42