2017-01-07 45 views
0

的什么,我试图做完整的源滚动背景,可以发现here与Slick2D

我试图做一个背景滚动如上面提到的,我已经取得了进展到它是无限的地步,但它似乎在中途消失。我目前陷入困境,不知道如何从这一点进展。

你可以通过克隆上面提供的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); 


} 

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

回答

0

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

+0

从来没有想过图像子,这实际上工作!它只是在边缘上抽搐了一下,但是我通过稍大一点来修正它。谢谢! – BallisticBlaze

+0

非常欢迎兄弟和感谢接受。如果你需要其他与​​slick2d相关的东西,我会很乐意帮助你:) –