Kotlin と TornadoFX/JavaFX を使用して 1/60 秒ごとに再描画するビデオ ゲームに取り組んでいます。現在、私のプログラムは背景を白に設定してその上に描画することで再描画しています。しかし、私はもう少しきれいなものを好むでしょう。これは私が現在それを描いている方法です:
private fun drawShapes(gc: GraphicsContext) {
gc.fill = c(255, 255, 255)
gc.fillRect(0.0, 0.0, 700.0, 700.0) //Game is 700x700
gc.fill = c(94, 132, 233)
walls.forEach { gc.fillRect(it.x.toDouble(), it.y.toDouble(), it.w.toDouble(), it.h.toDouble()) }
gc.fill = c(255, 239, 20)
coins.filter { !it.collected }.forEach { gc.fillRect(it.x.toDouble(), it.y.toDouble(), it.w.toDouble(), it.h.toDouble()) }
//Cut off here because following is more of same
}
fixedRateTimer(period = 16, initialDelay = 500) { drawShapes(graphicsContext2D) }
たくさん重ねるのではなく、きれいに拭く方法はありませんか?インターネットで検索してみましたが、何も見つかりませんでした。