【问题标题】:Unable to add items to Roblox Table无法将项目添加到 Roblox 表
【发布时间】:2021-01-26 07:10:25
【问题描述】:

我在对某些代码进行故障排除时遇到了困难。

我有一个 for 循环,并在其中克隆了一个部分(称为 EnemySiteHub)。

我希望我可以将每个克隆的部分存储到一个表(称为 EnemySiteTable)中。

不幸的是,即使循环成功运行并且我在游戏运行期间实际上看到了克隆的 EnemySiteHubs。桌子的大小仍然为 0。 尝试在代码中访问表会出现 nil 错误。

代码片段:

  local ENEMYSITE_COUNT = 5
    local EnemySiteTable = {} -- [[ Store the table of enemy site objects ]]
    
        -- Loops until there are the amount of enemy site hubs set in ENEMYSITE_COUNT
            for i = 1, ENEMYSITE_COUNT do
                
                --Makes a copy of EnemySiteHub
                local enemySite = ServerStorage.EnemySites.EnemySiteHub:Clone()
                enemySite.Parent = workspace.EnemySites
                
                EnemySiteTable[i] = enemySite

这行代码导致下面的错误。

local enemySiteTableSize = #enemySiteTable

18:12:37.984 - ServerScriptService.MoveEnemyToSite:15:尝试获取 nil 值的长度

我们将不胜感激。

【问题讨论】:

    标签: arrays null roblox


    【解决方案1】:

    #array 用于检索数组的长度。您将不得不使用某种table.function() 或使用for i,v in pairs(EnemySiteTable) 循环。

    这里有更多信息:https://developer.roblox.com/en-us/articles/Table

    【讨论】:

    • 感谢您的建议。你会不鼓励使用 EnemySiteTable[i] =enemySite 吗?用这个不靠谱吗?
    【解决方案2】:

    谢谢@pyknight202

    问题源于我的代码中的其他地方。

    EnemySiteTable 在模块脚本中。

    下面的代码是访问 EnemySiteTable 的正确代码

    --Have the table of enemies accessible 
    EnemySiteManager.EnemySiteTable = EnemySiteTable
    

    我在那行代码中有一个错误(错字)。 该错误的影响一直返回一个 nil 表,表大小为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      相关资源
      最近更新 更多