LibGDX - 使用瓷砖的有效方式&a​​mp; Z-Order of Sprites

时间:2014-10-17 00:06:16

标签: libgdx sprite spritebatch

我有问题。我正在渲染的精灵不在我希望它们的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来渲染播放器?

好的,第二个问题:以这种方式绘制瓷砖有效吗?我做得对吗,还是应该使用像瓷砖一样的东西?

0 个答案:

没有答案