2016-11-22 71 views
-1

我有10x10 sqares正在形成一個地圖。可變的縮放,xPos和yPos定義了我在地圖和攝影機的位置上有多深。 每個圖塊都有一個x和y座標(0-9)。 如何顯示此地圖? 我試過這麼做:如何放大並移動多個方塊的地圖?

rect(x zoom + xPos,y zoom + xPos,zoom,zoom); //函數矩形在前2個輸入處形成一個以矩心爲中心的矩形) 問題是我總是放大左上角;

我也試過這樣:

矩形((X-5.5)*變焦+ XPOS,(Y-5.5)*變焦+ yPos);

但是這個放大總是在地圖的中心,而我想讓它放大屏幕的中心。

請幫我

回答

1

我真的建議坐下來用一些方格紙和一支鉛筆。用他們的座標和大小繪製一堆示例網格。然後在不同的縮放級別繪製它們的樣子,直到您注意到一個圖案。如果您無法使用該模式,請發帖MCVE,我們將從此處繼續。

還要注意的是處理具有scale()功能可能會派上用場。更多信息請見the reference

+0

第一我已經使用規模()和翻譯在我的代碼()函數,但我想我會把整個代碼的矩形()函數,以便每個人都能理解。猜猜我現在必須自己找出它。由於 –

+0

@BertBartan我不知道你把整個代碼在'矩形()'函數是什麼意思? –

+0

scale()所做的唯一事情就是將每個輸入的函數(如rect())與一個數字相乘。順便說一下,我發現如何做到這一點。我現在正在做這樣的事情: –