如何更改 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
我正在使用 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