1

単純な関数によって作成されたオブジェクトをテーブルに配置して、それらを個々のアイデンティティとして表現する方法がわかりません..

例えば

local function spawncibo()
nuovoCibo = display.newImage("immagini/cibo/cibo001.png")
end
timer.performWithDelay(1500, spawncibo, -1)

for ループで実行しようとしましたが、うまくいきません (テーブルを印刷しようとすると、常に nil の結果が得られます)。

どんな提案でも大歓迎です!

4

3 に答える 3

0

私があなたの質問を正しく理解していれば、次のようなことを試すことができます:

local cibo = {}
local function spawncibo()
  cibo[#cibo+1] = display.newImage(string.format(
    "immagini/cibo/cibo%3d.png", #cibo+1))
end
timer.performWithDelay(1500, spawncibo, -1)

これにより、ファイル 、、... が 1.5 秒ごとに読み取らcibo001.pngれ、すべての画像が配列cibo002.pngに入れられます。cibo

于 2012-09-11T20:40:45.337 に答える
0
local spawnedCibos = {}
local function spawncibo()
    nuovoCibo = display.newImage("immagini/cibo/cibo001.png")
    table.insert(spawnedCibos, nuovoCibo);
end
timer.performWithDelay(1500, spawncibo, -1);

local function enterFrameListener( event )
    for index=#spawnedCibos, 1, -1 do
        local cibo = spawnedCibos[index];
        cibo.x = cibo.x + 1;
        if cibo.x > display.contentWidth then
            cibo:removeSelf();
            table.remove(spawnedCibos, index);
        end
    end
end
于 2012-09-14T17:18:35.257 に答える