2015-03-31 81 views
1

我尝试在corona SDK上创建一款新游戏我是lua语言的新手,我的目标是在一种动作游戏中拥有一组敌人。Animate corona SDK敌人

对于这个我认为最好的方法是有一个数组来存储我的所有enemeis在这种情况下我使用三个。

所以我的代码是:

local enemies = {} 

enemy1 = display.newImageRect("assets/images/sheep_mini.png", 60, 60) 
enemy1.anchorX = 0 
enemy1.anchorY = 0 
enemy1.name = 'enemy' 
enemy1.id = 1 
enemy1.x, enemy1.y = 28, display.contentHeight - 260 
enemy1.angularVelocity = 0 
enemies[1] =enemy1 



enemy2 = display.newImageRect("assets/images/sheep_mini.png", 60, 60) 
enemy2.anchorX = 0 
enemy2.anchorY = 0 
enemy1.id = 2 
enemy2.name = "enemy" 
enemy2.x, enemy2.y = screenW - 120, display.contentHeight - 420 
enemy2.angularVelocity = 0 
enemies[2] =enemy2 

所以之后,我一会儿来遍历这个敌人的敌人,但是当我试图从阵列获取的敌人,我只得到这个:

02年3月31日:23:36.576:表:0x600000a66640 02年3月31日:23:36.577:表:0x600000a78e00

我使用这个代码做而:

local len = #enemies 
local i= 1 
while i <= len do 
    enemy1 = enemies[i] 
    print(enemy1) 
end 

你能帮忙吗?我现在电晕,也对LUA

在此先感谢

+0

你在哪里递增'我'? – hjpotter92 2015-03-31 02:18:28

+0

您正在尝试打印表值,那么您想要做什么? – 2015-03-31 05:05:52

+0

是的,我增加了我只是不复制这段代码,因为我说我是新的LUA,所以我尝试获取每个位置上的对象,就像我在JavaScript上做的那样。问题是只有打印?如果我尝试访问id属性的例子,我可以做到这一点? – mastervv 2015-03-31 09:45:05

回答

1

你正在尝试实现可通过

​​

做欲了解更多信息,我建议你阅读:Table Serialization这就解释如何:

函数来序列化/反序列化一个表或对象(通常,不是 总是表示为表),它将其转换为从 字符串表示。 这通常用于显示(例如, 调试)或将数据存储在文件(例如持久性)中。

+0

感谢帮助,我是新来的Lua,我只看到内存地址,因为我可以访问任何字段。我是一个JavaScript家伙,我曾经做过这样的事情。 – mastervv 2015-04-01 10:28:59

+0

不用担心 - 记得接受答案,如果它对你有帮助,就像在左边的小“v”一样。这样,您可以帮助其他人在寻找解决方案时遇到类似问题。 – 2015-04-01 10:46:00

+0

感谢提醒几乎忘记了! – mastervv 2015-04-01 10:50:33