【问题标题】:What is the name of a variable when you make it from an array (table)当您从数组(表)中创建变量时,变量的名称是什么
【发布时间】:2019-08-02 11:44:32
【问题描述】:
local text = {"One", "Two", "Three", "Four", "Five"}

for k = 0,  (#table - 1) , 1 do
local options =
    {
        text = table[k+1][1],
        x = halfW,
        y = (150*k + 150) - 175,
        font = native.systemFont,
        fontSize = 40,
        id = k

    }

text[k+1] = display.newText( options )

end

我已经定义了 HalfW 和表格。一旦 for 循环完成,文本对象的名称是什么?主要目标是拥有 5 个(#table)文本对象,每个对象都有不同的名称(Text1、Text2 等),我可以在 for 循环之外进行编辑,也不是全局的。

【问题讨论】:

  • 我不明白你的问题。是否要将 options 表放入该循环之外的另一个表中?

标签: lua coronasdk


【解决方案1】:

table 是 Lua 的表操作库。为其分配其他值不是一个好主意。

local text = {"One", "Two"}

等价于

local text = {}
text[1] = "One"
text[2] = "Two"

在 for 循环中,您将从键 1 分配新值到 #table

所以您的第一个文本对象可以作为text[1] 访问,第二个文本对象可以作为text[2] 访问,依此类推。

【讨论】:

  • 我已经迭代了另外两种方法,但都不起作用。 code local Text1 local text = {} for k = 0, (#table - 1) , 1 do local options = { text = table[k+1][1], x = halfW, y = (150*k + 150) - 175, font = native.systemFont, fontSize = 40, id = k } text[k] = display.newText( options ) text1.text = "hi"
  • @CheChe 请参阅 Lua 参考手册并了解如何访问表格元素。您正在为数字表键分配值。 text1 是一个 nil 值,因此您无法对其进行索引。如果您想访问表格文本中的第一个条目,请使用 text[1] 而不是 text1...
  • stackoverflow.com/questions/5061755/… 我发现这适用于我的用例。感谢您的帮助
  • @CheChe 也许下次描述你想要实现的目标,而不是什么行不通。我的印象是您未能访问该值,而不是您想给它一个自定义名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 2019-12-13
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
相关资源
最近更新 更多