我有问题。我正在渲染的精灵不在我希望它们的Z位置。 我正在制作的游戏是2D沙盒游戏 - 类似于terraria。
我制作了一个二维数组,然后用for循环迭代它。
基本代码大纲:
for(int x = 0; x < worldwidth; x ++){
for(int y = 0; y < worldheight; y ++){
//complicated calculations to check which texture it should use
// draws background blocks
Sprite s = new Sprite(texture);
s.setSize(12, 12);
s.setOriginCenter();
s.rotate(rotation);
s.setPosition(x* world.blocksize, y* world.blocksize);
s.draw(batch);
//draws foreground blocks
//same thing as with background blocks, only with a different texture
}
}
我希望玩家位于背景和前景精灵之间。但是如果我在循环的开始或结束时绘制它,它会在最后或最前面结束。 我尝试在背景图块之后绘制它,但这不起作用。我该怎么办?我是否使用了一些东西而不是一个spritebatch来渲染播放器?
好的,第二个问题:以这种方式绘制瓷砖有效吗?我做得对吗,还是应该使用像瓷砖一样的东西?