2016-12-26 97 views
0

我一直在試圖用一隻眼睛在屏幕上畫一個塊的圖像。我希望能夠以同樣的方式製作多個紋理動畫,所以手動繪製動畫不是一種選擇。問題是,當我將眼瞼精靈移動得高於完全閉合時,眼瞼的一部分顯示在預期範圍之上,如this。顯然,這是一個問題,因爲它看起來很不自然。我想要爲這個問題提供另一種解決方案,或者能夠裁剪眼瞼的Sprite對象以適應圖像的其餘部分。最終的圖像包括眼球,瞳孔(因爲我也希望能夠這樣做),眼瞼,主體和輪廓,按照這個順序繪製。渲染功能如下:Sprite裁剪LibDGX

public void render(float delta) { 
     float height = this.eyelid.getHeight(); 
     float eyeHeight = height*0.7f; 
     this.eyelid.setY(this.eye.getY()+(eyeHeight*((100-this.lid)/100f))); 
     batch.begin(); 
     this.eye.draw(batch); 
     this.pupil.draw(batch); 
     this.eyelid.draw(batch); 
     this.main.draw(batch); 
     this.shade.draw(batch); 
     batch.end(); 
    } 

this.lid是眼閉如何爲%,而對於眼瞼本身的圖像可以發現here。我怎麼能解決這個問題,或者我怎麼能裁剪這個精靈?我不希望每幀都要將紋理作爲精靈重新加載。

回答

0

我認爲你要找的是ScissorStack class,它在libGDX wiki上有記錄。您可以使用此物體夾住眼睛的框架,使蓋子的頂部不顯示。

+0

謝謝,但我怎麼能實現呢?我不太理解文件。 –