2015-03-31 2 views
1

Я пытаюсь создать новую игру на короне SDK. Я новичок в языке lua, у моей цели был набор врагов в виде экшн-игры.Анимация короны SDK врагов

Для этого я думаю, что лучший способ - иметь массив, чтобы хранить все мои клизмы, в этом случае я использую три.

Так что мой код:

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 

Так после этого я некоторое время, чтобы перебирать этому враг врагов, но когда я пытаюсь получить враг из массива я получаю только это:

31 марта 02: 23: 36,576: таблица: 0x600000a66640 31 марта 02: 23: 36,577: таблица: 0x600000a78e00

я использую этот код для выполнения в то время как:

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

Вы можете помочь здесь? я нахожусь теперь на короне, а также на Lua

заранее спасибо

+0

Где вы наращиваете 'i'? – hjpotter92

+0

Вы пытаетесь напечатать значение таблицы, так что вы хотите сделать точно? –

+0

да я инкрементирую i, но не копирую этот код, так как я сказал, что я новичок в LUA, поэтому я пытаюсь получить объект в каждой позиции, например, на JavaScript. проблема только в печати? если я попытаюсь получить доступ, например, по свойству id, я могу это сделать? – mastervv

ответ

1

То, что вы пытаетесь достичь может быть сделано через

table.print(enemy1) 

Для получения дополнительной информации, я предлагаю вам прочитать: Table Serialization, который объясняет как:

функции для сериализации/десериализации таблица или объект (как правило, не всегда, представлены в виде таблицы), которая является, чтобы преобразовать его и из строкового представления . Это обычно используется для отображения (например, отладки) или хранения данных в файле (например, сохранение).

+0

Благодаря помощи, я новичок в Lua, я вижу адрес памяти только в печати, потому что я могу получить доступ к любым полям. Я парень javascript, и я делал такие вещи – mastervv

+0

Не беспокойтесь - не забудьте принять ответ, если он вам поможет, на маленьком «v», как налево. Таким образом, вы помогаете другим, у которых есть аналогичная проблема при поиске решения. –

+0

спасибо, что напомнил почти забыть об этом! – mastervv

Смежные вопросы