Libgdx Sprite跨越屏幕边缘

时间:2015-03-09 15:46:02

标签: java libgdx

我希望在我的精灵退出屏幕时实现平滑过渡。这意味着如果我的精灵从左边缘退出屏幕,它应该出现在右边缘。我遇到的主要问题是我不想简单地将精灵的新坐标从一个边缘设置到另一个边缘。例如,如果精灵是左边缘的一半,则另一半应该出现在右边缘(平滑过渡)。任何人都可以就此问题提出任何建议吗?

1 个答案:

答案 0 :(得分:0)

伪代码!

if(sprite.pos.x > screen.width)
{
    sprite.pos.x -= screen.width;
}
else if(sprite.pos.x < 0 - sprite.width)
{
    sprite.pos.x += screen.width;
}

if(sprite.pos.x + sprite.width > screen.width && sprite.pos.x < screen.width)
{
    batch.draw(sprite.texture, sprite.pos.x - screen.width, sprite.pos.y);
} 
else if(sprite.pos.x < 0 && sprite.pos.x + sprite.width > 0)
{
    batch.draw(sprite.texture, sprite.pos.x + screen.width, sprite.pos.y);
}

batch.draw(sprite.texture, sprite.pos.x, sprite.pos.y);