sprite: emissive layer

This commit is contained in:
minjaesong
2024-01-27 01:27:45 +09:00
parent 3042b0659e
commit b02f4d7703
18 changed files with 175 additions and 29 deletions

View File

@@ -33,6 +33,7 @@ open class ParticleBase(renderOrder: Actor.RenderOrder, var despawnUponCollision
open lateinit var body: TextureRegion // you might want to use SpriteAnimation
open var glow: TextureRegion? = null
open var emissive: TextureRegion? = null
val drawColour = Color(1f, 1f, 1f, 1f)
@@ -92,6 +93,15 @@ open class ParticleBase(renderOrder: Actor.RenderOrder, var despawnUponCollision
}
}
open fun drawEmissive(frameDelta: Float, batch: SpriteBatch) {
if (!flagDespawn && emissive != null) {
batch.color = drawColour
drawBodyInGoodPosition(hitbox.startX.toFloat(), hitbox.startY.toFloat()) { x, y ->
batch.draw(emissive, x, y, hitbox.width.toFloat(), hitbox.height.toFloat())
}
}
}
open fun dispose() {
}