2015-03-31 113 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