我正在研究一個應用程序,在那裏我需要繪製我的精靈的軌跡。我試圖用ShapeRenderer來完成它,並且它能夠正確地繪製線條,但是在繪製線條之後,它會再次被擦除。所以我試圖用Polyline來做,並在每次更新時添加Points,但過了一段時間後,這條折線太大而無法繪製。libGdx:在舞臺上繪製線條並將其保留在那裏
我有我的代碼在一個重寫Actor類,它在每個繪製調用檢查如果精靈已移動,如果是這樣,線獲取與ShapeRenderer繪製。有沒有辦法,保持這條線?
代碼:
ShapeRenderer renderer = StageActivity.stageListener.shapeRenderer;
renderer.setColor(color);
Gdx.gl.glLineWidth(strokeWidth);
line.add(sprite.look.getX());
line.add(sprite.look.getY());
renderer.polyline(getLineVertices());
的getLineVertices()方法是隻是我的ArrayList轉換爲浮點數[]數組。
編輯:
由於上面的代碼性能很差,很多線路,我嘗試了幀緩衝區這是我需要的本質是什麼(我認爲),但它不會畫畫,我是什麼做錯了?
buffer.begin();
renderer.begin(ShapeRenderer.ShapeType.Line);
renderer.line(previousPoint.x, previousPoint.y, sprite.look.getX(), sprite.look.getY());
renderer.end();
buffer.end();
batch.draw(buffer.getColorBufferTexture(), 0, 0);
緩衝區是我的Actor中的全局變量。
請添加您的代碼,以便我們檢查是否有問題。 –