2010-08-29 51 views
1

給定2個函數Translate(x,y)和Scale(x),我希望攝像機的位置始終是屏幕的中心。還有一個比例因子變量,通過修改它可以放大或縮小屏幕中心。鑑於我知道像素的屏幕尺寸,我怎麼能做到這一點?由於確保攝像頭位置始終是屏幕的中心?

+0

這取決於如果你真的想將圖像縮放與否。您可以始終不縮放圖像,並使用圖像的大小將其轉換爲應該的位置。 – 2010-08-29 14:41:51

回答

0

事情是這樣的:

screen_coords = (world_coords - camera_world_coords) * camera_zoom + 0.5 * screen_dimension 
+0

這對Translate()和Scale()是如何工作的? – jmasterx 2010-08-29 14:07:20

+1

@Milo:你不會在這裏得到完美的代碼。這不是一個「發送我的代碼,這樣做的X」網站。閱讀公式tdammers發佈並實現它的翻譯和規模。 – 2010-08-29 14:42:55

+0

提示:在我的例子中*操作符是一個尺度,+和 - 操作符是翻譯的。如果你無法弄清楚這些信息,請回到磨刀石。 – tdammers 2010-08-30 11:22:10