使用Slick2D滚动背景

时间:2017-01-07 13:15:57

标签: java background lwjgl slick2d

我可以找到我想要做的完整资料来源here

我正在努力制作如上所述的背景滚动,我已经取得了无限的进展,但它似乎在中途消失了。我目前陷入困境,不知道如何从这一点开始。

你可以通过将上面提供的git克隆到eclipse来演示这个。它应该在不需要任何设置的情况下即时工作。画布大小为1000 x 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 个答案:

答案 0 :(得分:0)

我可以知道图片的大小和屏幕的大小吗? 我想也许你需要&#34; cut&#34;渲染方法中的图像取决于你在状态下向下/向上滚动的程度。让我更清楚地使用Bottons:让我们假设每个&#34; W&#34;是1像素,每个&#34; S&#34;是&#34; y&#34;轴,pic是1000像素高,状态设置为500像素高,并假设我们从那张照片的底部开始,所以我们需要更高,所以每W推 我们更新了一个参数&#34; UP&#34;在更新方法中,然后在渲染方法中,我们使用&#34; IMAGE.getSubImage(XstartPoint,YstartPoint,hight,width)&#34;来剪切照片。我希望这对你来说很有用。