libGDXを使用してレベル選択ページ(怒っている鳥のようなもの)を実装しています。私は、描画機能に続いてlibGDXシェイプレンダラーがバックボタンを押した後に描画しない
val shapeRenderer = ShapeRenderer()
fun drawPageIndicator(batch: Batch?, page: Int, pageCount: Int, y: Float, centerX: Float, gap: Float, radius: Float) {
batch?.end();
var fromX = centerX - pageCount/2 * gap;
if (pageCount % 2 == 0) {
fromX += gap/2;
}
shapeRenderer.projectionMatrix = batch?.projectionMatrix
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled)
for (i in 0..pageCount-1) {
if (i == page) {
shapeRenderer.color = Color.WHITE
} else {
shapeRenderer.color = Color.GRAY
}
shapeRenderer.circle(fromX, y, radius)
fromX += gap;
}
shapeRenderer.end()
batch?.begin();
}
:
override fun draw(batch: Batch?, parentAlpha: Float) {
super.draw(batch, parentAlpha)
H.drawPageIndicator(batch, scroller.currentPage, scroller.pageCount, indicatorY, scroller.x + scroller.width/2, 16f, 4f)
}
期待どおりに動作します私は、ページインジケータを(ドットが現在のページを示す)を描画するために、このヘルパー関数を持っています。しかし、私が戻るボタン(ホームページに出る)を押すたびに、レベル選択画面に戻り、ドットが消えてしまいます。
'shapeRenderer'作業を' Texture'と 'SpriteBatch'に置き換える方がいいです – Aryan