我想提出一個矩形:繪製矩形,並看到它批次沒有任何紋理
rect = new Rectangle();
rect.x = 40;
rect.y = 100;
rect.setSize(100,100);
,然後也畫一些紋理的矩形狀的位置:
batch.draw(myTexture, rect.x , rect.y, rect.width, rect.height);
現在我想要什麼要做的還是看到矩形的形狀,就像我必須看到一些邊界,以便我可以看到我的矩形邊界以及我的紋理。我需要這個用於調試的目的,因爲紋理很複雜,就像背景透明的地方一樣,所以我想從這些地方移除碰撞,這就是爲什麼我想如果我能看到矩形和精靈這將是偉大的。
雖然我試着這樣做:
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setColor(Color.RED);
shapeRenderer.rect(0,0,100,100);
shapeRenderer.end();
我想上面的代碼會幫我畫的質感以及看到該矩形,但事實證明我能看到的只是矩形的邊界,而不是質感。
這裏是輸出:
在圖像中,可以看到一個紅色的長方形而這正是我試圖調試我吧(黃顏色的酒吧也被認爲是這裏顯示)但我的黃色不會出現,因爲這個紅色的邊界矩形重疊了我的酒吧。
需要明確的是,我希望看到的shapeRenderer正確的紋理上方,可以看到他們兩個
您是否嘗試過使用這兩種,先繪製紋理與正常SpriteBatch然後使用ShapeRenderer繪製矩形? – dfour
是的我已經嘗試做這兩個和shapeRenderer完全覆蓋批處理繪圖紋理,這發生因爲shapeRenderer代碼後繪製紋理批處理寫入,但因爲我在shapeRenderer線ShapeType我認爲我可能會看到他們兩個,但顯然是做不是這樣的。 –
您可能需要在形狀渲染器進行繪製調用之前啓用混合以允許透明。 Gdx.gl.glEnable(GL10.GL_BLEND); Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA,GL10。GL_ONE_MINUS_SRC_ALPHA); 呈現形狀 Gdx.gl.glDisable(GL10.GL_BLEND); – dfour