如何更改 Korge NinePatch 的宽度和高度?

How to change Korge NinePatch width and height?

我正在使用 Korge 游戏引擎开发游戏。

我试图更改附加到 FixedSizeContainer 的 NinePatch 的宽度 但是当 运行 这段代码时,NinePatch 图像的侧面会变形。

     val scoreBg=ninePatch(resourcesVfs["gamescreen/scorebg.9.png"].readNinePatch(),
                    40.0,30.0){}
                   .position(40.0,40.0) //<-- rendering correctly

     val score=text("0",font = font).centerOn(scoreBg)
        
     val scoreUpdateFun:(score:Int)->Unit = {
            val text="$it"
            val len=text.length
            scoreBg.width=30+len*10.0//<---- changes width but distorts sides
            score.text="$it"
        }

    scoreUpdateFun(100)

更改 width/height 的正确方法是什么?

Update-1

Korge docs,我使用的是 NinePatch 的扩展版本,它使用 KorIM 的 NinePatchBitmap32,与 IntelliJ 9-patch 位图兼容。

当我从 NinePatchEx 切换到正常 NinePatch 时,它工作正常。 但是我不能直接使用9-patch位图

我将代码更改为

val scoreBg=ninePatch(
    atlas["scorebg2.png"],40.0,30.0,
    53.0/119.0, 47.0/101.0, 52.0/119.0, 47.0/101.0)
    .position(40.0,40.0)

Update-2

我发现了一个与我的问题相关的开放 issue

我的游戏使用的是Korge版本1.13.9.0

已经修复了。您可以在此处查看工作示例:

9 补丁图像:https://github.com/korlibs/korge-samples/blob/master/ninepatch/src/commonMain/resources/image.9.png 示例更新补丁移动鼠标:https://github.com/korlibs/korge-samples/blob/master/ninepatch/src/commonMain/kotlin/main.kt