0
所以我有這個隨機生成的一組包裹在一個圓圈中的瓷磚,我不確定如何在圓周上滾動它。基本上它是一個2D視角的行星,需要以可控的速度進行包裹和移動,以給出行星旋轉的幻覺。我將在下面發佈我的當前渲染代碼,以便您可以瞭解我正在處理的內容,但我不確定如何對x和y執行滾動操作。這裏有一個星球是什麼樣子:https://imgur.com/Ytdz2mGJava 2D球體滾動
for (int x = 0; x < planet1.length; x++)
{
for (int y = 0; y < planet1[0].length; y++)
{
if (planet1[x][y] == 1 || planet1[x][y] == 2)
{
g.drawImage(water, x * 32, y * 32);
}
else if (planet1[x][y] == 3)
{
g.drawImage(desert, x * 32, y * 32);
}
else if (planet1[x][y] == 4)
{
g.drawImage(plains, x * 32, y * 32);
}
else if (planet1[x][y] == 5)
{
g.drawImage(grassland, x * 32, y * 32);
}
else if (planet1[x][y] == 6)
{
g.drawImage(forest, x * 32, y * 32);
}
else if (planet1[x][y] == 7)
{
g.drawImage(hills, x * 32, y * 32);
}
else if (planet1[x][y] == 8)
{
g.drawImage(mountain, x * 32, y * 32);
}
else if (planet1[x][y] == 9)
{
g.drawImage(mountain, x * 32, y * 32);
}
else if (planet1[x][y] == -1)
{
}
}
}
您必須更具體地說明您期望的輸出是什麼。簡單地向一個方向滾動幷包裹像素?這與將球體投影到兩個維度無關。對於這個方向的解決方案,您需要對三角函數有所瞭解,並且可能是存儲地形數據的更好方法。 –