the baloon now has opacity control

This commit is contained in:
minjaesong
2023-06-25 13:58:37 +09:00
parent 3d13941060
commit 253db56c4f
3 changed files with 13 additions and 16 deletions

View File

@@ -48,12 +48,9 @@ class Notification : UICanvas() {
} }
} }
private val drawColor = Color(1f, 1f, 1f, 1f)
override fun renderUI(batch: SpriteBatch, camera: Camera) { override fun renderUI(batch: SpriteBatch, camera: Camera) {
blendNormalStraightAlpha(batch) blendNormalStraightAlpha(batch)
drawColor.a = handler.opacity fontCol.a = handler.opacity * OPACITY
fontCol.a = handler.opacity
val realTextWidth = 12 + if (message.size == 1) val realTextWidth = 12 + if (message.size == 1)
App.fontGame.getWidth(message[0]) App.fontGame.getWidth(message[0])
@@ -63,12 +60,11 @@ class Notification : UICanvas() {
// force the UI to the centre of the screen // force the UI to the centre of the screen
this.posX = (App.scr.width - displayedTextWidth) / 2 this.posX = (App.scr.width - displayedTextWidth) / 2
val textHeight = message.size * App.fontGame.lineHeight val textHeight = message.size * App.fontGame.lineHeight
batch.color = drawColor
Toolkit.drawBaloon(batch, 0f, -textHeight, displayedTextWidth.toFloat(), textHeight)
Toolkit.drawBaloon(batch, 0f, -textHeight, displayedTextWidth.toFloat(), textHeight, handler.opacity * OPACITY)
batch.color = fontCol batch.color = fontCol
message.forEachIndexed { index, s -> message.forEachIndexed { index, s ->
@@ -79,7 +75,6 @@ class Notification : UICanvas() {
// dunno why, it doesn't work without this. // dunno why, it doesn't work without this.
drawColor.a = 1f
fontCol.a = 1f fontCol.a = 1f
} }
@@ -111,6 +106,7 @@ class Notification : UICanvas() {
companion object { companion object {
// private int messagesShowingIndex = 0; // private int messagesShowingIndex = 0;
val OPEN_CLOSE_TIME = 0.16f const val OPEN_CLOSE_TIME = 0.16f
const val OPACITY = 0.9f
} }
} }

View File

@@ -56,10 +56,11 @@ class UITooltip : UICanvas() {
batch.color = tooltipBackCol batch.color = tooltipBackCol
Toolkit.drawBaloon(batch, Toolkit.drawBaloon(batch,
tooltipX - textMarginX, tooltipX - textMarginX,
tooltipY, tooltipY,
tooltipW, tooltipW,
font.lineHeight * msgBuffer.size font.lineHeight * msgBuffer.size,
Notification.OPACITY
) )
batch.color = tooltipForeCol batch.color = tooltipForeCol

View File

@@ -254,7 +254,7 @@ object Toolkit : Disposable {
(batch as FlippingSpriteBatch).drawFlipped(fboBlur.colorBufferTexture, x.toFloat(), y.toFloat()) (batch as FlippingSpriteBatch).drawFlipped(fboBlur.colorBufferTexture, x.toFloat(), y.toFloat())
} }
fun drawBaloon(batch: SpriteBatch, x: Float, y: Float, w: Float, h: Float) { fun drawBaloon(batch: SpriteBatch, x: Float, y: Float, w: Float, h: Float, opacity: Float = 1f) {
// centre area // centre area
/*batch.draw(baloonTile.get(1, 1), x, y, w, h) /*batch.draw(baloonTile.get(1, 1), x, y, w, h)
@@ -271,9 +271,9 @@ object Toolkit : Disposable {
batch.draw(baloonTile.get(0, 2), x - baloonTile.tileW, y + h)*/ batch.draw(baloonTile.get(0, 2), x - baloonTile.tileW, y + h)*/
batch.color = Theme.COL_CELL_FILL_OPAQUE batch.color = Theme.COL_CELL_FILL_OPAQUE.cpy().mul(1f,1f,1f,opacity)
fillArea(batch, x - 4, y - 4, w + 8, h + 8) fillArea(batch, x - 4, y - 4, w + 8, h + 8)
batch.color = Theme.COL_INACTIVE batch.color = Theme.COL_INACTIVE.cpy().mul(1f,1f,1f,opacity)
drawBoxBorder(batch, x - 4, y - 4, w + 8, h + 8) drawBoxBorder(batch, x - 4, y - 4, w + 8, h + 8)
} }