我正在使用 Korge 游戏引擎开发游戏。
我试图改变一个 NinePatch 的宽度,它附加到一个 FixedSizeContainer 但在运行此代码时,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)
更改宽度/高度的正确方法是什么?
更新 1
根据 Korge文档,我使用的是 NinePatch 的扩展版本,它使用了 KorIM 的 NinePatchBitmap32,它与 IntelliJ 9-patch 位图兼容。
当我NinePatch
从 NinePatchEx
它切换到正常状态时,它工作正常。但我不能直接使用 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)
更新 2
我发现了一个与我的问题相关的未解决问题
我的游戏使用的是 Korge 版本1.13.9.0