android - 在 Corona 中使用类传递数组对象

标签 android class lua coronasdk

我正在创建一个使用 Corona 类结构的应用程序,当我想传递数组对象来创建对象时遇到问题。 我有这个:

ma​​in.lua

local SurpriseBoxClass = require("SurpriseBox")
local BoxClass = require("Box")

local box1 = BoxClass.new('palo', 'images/chestClose.gif', 'OPEN')
local box2 = BoxClass.new('moneda', 'images/chestClose.gif', 'OPEN')
boxes = { box1, box2 }

local game = SurpriseBoxClass.new(boxes)

SurpriseBox.lua

local SurpriseBox = {}
local SurpriseBox_mt = { __index = SurpriseBox }

function SurpriseBox.new(boxesAux)
 local object = {
   boxes = boxesAux
 }
 return setmetatable( object, SurpriseBox_mt )
end

问题是当我想在 SurpriseBox 的方法中打印数组的内容时,程序告诉我数组为零,例如我这样做:

print(boxes[0])

我能做什么?

谢谢!

最佳答案

Lua 表是从 1 开始的。

尝试print(boxes[1],boxes[2])

它将打印表 ID。如果需要打印表的内容,则必须迭代其字段,或者use a custom printer that does it for you (请参阅“递归打印表格”)。

关于android - 在 Corona 中使用类传递数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355007/

相关文章:

Android Room 删除级联不起作用

java - 如果首次使用 Android,GoogleMap v2 会崩溃

android - 进程在 Marshmallow 上被杀死但在 Lollipop 上没有

c# - 帮助类里面的数学操作数 (c#)

Python——检查对象是否是某个模块中任何类的实例

c - 我怎样才能清理lua的注册表?

c - 卢阿C : How would I use the Lua source code to create a Lua interpreter that will execute given blocks of Lua code?

正则表达式替换 : if not followed by letter or number

java - 使用 Picasso 从 URL 加载图像到自定义对话框中

javascript - 在 Javascript ES6 类中调用方法时出现意外行为