显示从 table 中选择的随机对象

Displaying a random object chosen from a table

我正在尝试创建一个函数,该函数将从 table 中选择四个对象之一,然后创建它。本质上意味着如果选择了对象 1-3,它们将被视为“常规”对象,“玩家”将必须抓住它们,而第四个对象是“特殊”对象,如果抓住则会扣分。

这是table

local objects = {
"object1",
"object2",
"object3",
"object4"
}

这是我用来代替我目前想要的代码(主要是为了确保我的代码中的其他所有内容都正常工作)

local function spawnObject()
 object = display.newImage("images/object1.png")
object.x =  math.random(screenLeft+ 30, screenRight-30)
object.y = screenTop-100
object.width = 100
object.height = 100
object.Number = 1
object.type = "regular"
object.score = 5
object.rotation = math.random(-20,20)
    
physics.addBody(object, "dynamic", {density =1, friction =1, bounce = .5})
end

从这个开始...

local function spawnObject()

local objects = {
"object1",
"object2",
"object3",
"object4"
}

object = display.newImage("images/"..objects[math.random(3)]..".png")
object.x =  math.random(screenLeft+ 30, screenRight-30)
object.y = screenTop-100
object.width = 100
object.height = 100
object.Number = 1
object.type = "regular"
object.score = 5
object.rotation = math.random(-20,20)
    
physics.addBody(object, "dynamic", {density =1, friction =1, bounce = .5})
end

...选择1-3.
如果你不喜欢 math.random(3) 你可以做 3 次 table.remove(objects,1) 所以很明显第 4 次是特殊的。
但是必须 objects 全局(外部函数而不是本地)。
...你必须检查。