我试着帮你翻译一下这个内容:

我正在尝试创建一个关卡选择菜单,但是一旦关卡数量超过了我能手动管理的范围,我就想通过代码来生成它们。问题是,新UI面板的代码看起来很不直观,而且似乎没有办法使用html id来样式化所有元素。 我尝试通过复制Reddit上找到的代码片段,并将其放入for循环中(这就是为什么有很多注释的原因)。

for(var i = 1; i <= 5; i++){
    var _uiLayerNode = layer_get_flexpanel_node("levels");
    var _tela = flexpanel_node_get_child(_uiLayerNode,"tela");

    // Create struct for flexpanel node's layerElements array
    var _structInstance = {
        type: "Instance",
        instanceObjectIndex: obj_nivel,
        instanceColour: -1,
    }

    // Create struct for flexpanel node
    var _struct = {
        layerElements: [_structInstance],
    };

    // Create a flexpanel node using our struct
    var _node = flexpanel_create_node(_struct);

    // Add a node as a child to the uiLayer (IMPORTANT! The object instance isn't actually accessible until after the node has been added to a UI layer)
    flexpanel_node_insert_child(_tela, _node, 0);

    // Get a reference to the instance on the ui layer
    var _instance = flexpanel_node_get_struct(flexpanel_node_get_child(_tela,i-1)).layerElements[0].instanceId;

    // Modify instance's variables
    _instance.image_index = i;
}

它在某种程度上是成功的,因为它能够输出5个同样的面板,但修改图片索引的部分并没有生效。它应该显示5个标签“1 2 3 4 5”,但实际上显示的是“1 1 1 1 5”。我完全不知道自己在做什么。是否有更简单的方法来实现这个功能?另外,如何样式化所有这些flexpanel以使它们具有相同的边距和对齐方式?