不久前Zelda地图的图例使用等距图块视图。您需要做的第一件事是将等距图块集加载到程序中,我确定您可以找到Zelda图块集。然后,您需要确定如何以过程方式生成地图。会有海洋,不同的生物群落,建筑物吗?在制定生成地图的方程式时,必须考虑所有这些因素。每个图块都需要存储在某个位置,因此我将制作一个2d数组以打包所有图块值。然后使用嵌套的for循环渲染图块。代码看起来像这样
int[][] world = new int[50][50];for( int i = 0; i < 50; i++ ){ for( int b = 0; b < 50; b++ ){ int tile = world[i][b]; render(tile, i, b); //use i and b to position the tile on your world生成哪些图块去哪里要麻烦一些,然后在创建图块后对其进行渲染。上面仅制作了一个空矩阵。我将再次使用for循环,使用代表图块的不同int
id值填充您喜欢的世界。但是,这是完全随机的,因此您需要采取一些措施来解决问题。我将在生成时测试周围的图块,并给周围的图块更高的生成概率,以便更平滑地势。如果您希望每个游戏都拥有相同的世界,则只需为矩阵提供恒定的值即可,而不是生成它们。我不打算编写整个等轴测视图引擎,但我希望其中一些概念可以对您有所帮助。



