【发布时间】:2015-01-11 08:40:24
【问题描述】:
所以我有一组随机生成的图块,它们被包裹在一个圆圈中,我不确定如何围绕圆圈滚动它。基本上,它是一个 2D 的侧视图行星,需要被包裹并以可控的速度移动,以产生行星旋转的错觉。我将在下面发布我当前的渲染代码,以便您了解我正在使用的内容,但我不确定如何处理 x 和 y 以使其滚动。这是行星的样子:https://imgur.com/Ytdz2mG
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)
{
}
}
}
【问题讨论】:
-
您必须更具体地了解您期望的输出。只是在一个方向上滚动和包裹像素?这与将球体投影到二维中无关。要获得该方向的解决方案,您需要对三角学有所了解,并且可能需要更好的方式来存储地形数据。
标签: java math 2d procedural