Java 使用Slick2D滚动背景

Java 使用Slick2D滚动背景,java,background,lwjgl,slick2d,Java,Background,Lwjgl,Slick2d,我想做的事情的全部来源都可以找到 我正试图制作一个如上所述的背景卷轴,我已经取得了进展,它是无限的,但它似乎消失在中途。我目前陷入困境,不知道如何从这一点上取得进展 您可以通过将上面提供的git克隆到eclipse中来演示这一点。它应该在没有任何设置需要的情况下运行。画布的大小是1000乘720 int bgend=-(1000-bg.getWidth()); public void update(int delta){ x-=delta*0.2; nx-=delta*0.2;

我想做的事情的全部来源都可以找到

我正试图制作一个如上所述的背景卷轴,我已经取得了进展,它是无限的,但它似乎消失在中途。我目前陷入困境,不知道如何从这一点上取得进展

您可以通过将上面提供的git克隆到eclipse中来演示这一点。它应该在没有任何设置需要的情况下运行。画布的大小是1000乘720

int bgend=-(1000-bg.getWidth());
public void update(int delta){
    x-=delta*0.2;
    nx-=delta*0.2;
    if(x<=bgend&&x>=-bgend+delta*0.2){nx=1000;}
    else if(nx<=bgend&&nx>=-bgend+delta*0.2){x=1000;

    }
所有这些都在提供的链接中。
谢谢。

我能知道图片的大小和屏幕的大小吗?! 我想你可能需要在渲染方法中“剪切”图像,这取决于你在状态中向下/向上滚动的次数。。让我更清楚地使用bottons:假设每个“W”在“y”轴上向上1个像素,每个“S”在“y”轴上向下1个像素,图片高度为1000像素,状态设置为500像素,假设我们从照片的底部开始,所以我们需要更高,所以每推一次W
我们在update方法中更新一个参数“UP”,然后在render方法中使用“IMAGE.getSubImage(XstartPoint,YstartPoint,hight,width)”剪切照片。。我希望这对你有用,伙计。

从来没有想到过ImageSub,它确实有用!它只是在边缘上有点颠簸,但我通过使它稍微大一点来解决这个问题。谢谢你!不客气,兄弟,谢谢你的接受。如果您需要与slick2d相关的任何其他信息,我很乐意提供帮助:)
public void render(Graphics g){

bg.draw(x, y, bg.getWidth(), 720);

bg.draw(nx, y, bg.getWidth(), 720);


}