Tabletop Simulator - Textbox - 自动调整文本大小?

我正在将一款有点冷门并已经停板的游戏《生物与教派》带到Tabletop Simulator上。玩家面板有各种文本框。在其中两个文本框中,当没有足够的空间显示玩家输入内容时,我需要文本内容自动减小。

我用C#编写了程序,它有一个内置的自动调整大小功能,可以在文本框等字段上切换。Tabletop Simulator LUA及API是否允许使用此功能?

我正在使用Mr. Stump的文本框模板。

其中一个文本框的参数如下所示:

--name Credo
        {
            pos       = {0.35,0.12,0.93},
            rows      = 1,
            width     = 6000,
            font_size = 450,
            label     = "",
            value     = "在这里输入教派信条",
            alignment = 2,
            rotation  = {0,0,0},
            height    = 500,
            scale     = {0.1,0.0075,0.1},
        },

这些参数将传递给Mr. Stump的create_text-box函数:

function create_textboxes()
for i, data in ipairs(ref_buttonData.house_inputs) do
    --Sets up reference function
    local funcName = "textboxes"..i
    local func = function(_,_,val,sel) click_textboxes(i,val,sel) end
    self.setVar(funcName, func)

    self.createInput({
        input_function = funcName,
        function_owner = self,
        label          = data.label,
        alignment      = data.alignment,
        position       = data.pos,
        scale          = buttonScale,
        width          = data.width,
        height         = (data.font_size*data.rows)+24,
        font_size      = data.font_size,
        color          = buttonColor,
        font_color     = buttonFontColor,
        value          = data.value,
        rotation       = data.rotation,
        height         = data.height,
        scale          = data.scale,
    })
end
end

谢谢任何帮助。

点赞
用户11860352
用户11860352

据我所知,无法使用Lua创建的输入来实现此效果。 但是,通过利用UI API可以完成此效果,它允许您使用XML创建元素。 您将需要创建类似以下的东西:

<InputField resizeTextForBestFit="true"/>

resizeTextForBestFit属性可以在UI API的Attributes Section中找到。

在Tabletop Simulator中运行的代码需要很多,因此您可以参考我使用上述XML解决方案创建的角色表格的详细示例。

2021-09-03 15:41:57