如何自动添加和重命名 Lua 中的对象?

我正在尝试构建一种方法,使其自动添加和重命名 Lua 中的对象。我有用于添加对象的add方法,但我不知道如何使其重命名每个对象。我正在考虑添加一个“if”语句,但我不知道如何构建它,以便每次循环重命名对象。

这是我目前的代码:

frogBody = {density = .8, friction = 0.3, bounce = 0.1, radius = 10} -- 身体类型
local onPlayerSpawnObject = function(object) -- 生成对象的方法
      local layer = map:getTileLayer("敌人")
      local frog = movieclip.newAnim{ "FrogMini.png", "frogMiniRed.png" } -- 生成的对象
      frog.x = object.x ; frog.y = object.y
      frog.myName = "frog"
      frog.isHit = false
      physics.addBody(frog, frogBody)
end

感谢您的帮助!

点赞
用户2895078
用户2895078

我觉得你的意思是你想从你的示例中特别地访问青蛙对象?

如果是这样的话,你可以将 add 函数的返回值分配到 Lua 的表中,或者直接在函数内部为表进行分配。

local frogs = {}
frogBody = {density = .8, friction = 0.3, bounce = 0.1, radius = 10} -- 身体类型
local onPlayerSpawnObject = function(object) -- 生成对象的方法
    local layer = map:getTileLayer("Enemies")
    local frog = movieclip.newAnim{ "FrogMini.png", "frogMiniRed.png" } -- 要生成的对象
    frog.x = object.x ; frog.y = object.y
    frog.myName = "frog"
    frog.isHit = false
    physics.addBody(frog, frogBody)
    table.insert(frogs, frog)
end

-- 要打印单个青蛙,将 1 替换为您的索引即可
print (frogs[1].myName)
2013-10-21 10:10:20