私は自分のスプライトのトレースを描画する必要があるアプリケーションに取り組んでいます。私はShapeRendererを使ってそれをやろうとしましたが、線は正しく描画されますが、線が描画された後、線は再び消去されます。だから私はポリラインでそれをやろうとしましたが、それぞれの更新でポイントを追加しましたが、しばらくしてからこのポリラインを描くには大きすぎます。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);
バッファは、私の俳優のグローバル変数です。行を更新して描画する必要があるとき
何が間違っているかを確認できるようにコードを追加してください。 –