2017-01-07 39 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相關的東西,我會很樂意幫助你:) –