有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Slick2D的java滚动背景

我想做的事情的完整来源可以找到here

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

您可以通过将上面提供的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;

    }

这是与滚动相关的逻辑。然后这些值用于渲染图像

public void render(Graphics g){

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

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


}

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


共 (1) 个答案

  1. # 1 楼答案

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