2017-12-28 19 views
1

私は、このエラーはインデックスが存在しないために発生しているが、なぜそれが存在しないのかわかりません。 、map-functions.lua:60:nil値のインデックスを作成しようとしています(love2d、physics)

function drawMap() 
    objects = {} 
    for x,column in ipairs(TileTable) do 
    for y,char in ipairs(column) do 
     love.graphics.draw(Tileset, Quads[ char ] , (x-1)*TileW, (y-1)*TileH) 
     if char == '#' then --addding the physics for collision(walls)-- 
     objects[objectIndex] = { 
      body = love.physics.newBody(world, (x-1/2) * TileW, (x-1/2) * TileH), 
      shape = love.physics.newRectangleShape(32, 32), 
      fixture = love.physics.newFixture(objects[objectIndex].body, objects[objectIndex].shape, 1) 
     } 
     end 
    end 
    end 
end 

私だけlove2dとゲーム作りで出始めていますし、助けをappriciateだろうありがとう:私はすべての壁のタイル(#)物理オブジェクトに追加しますmapDraw方法 で実装プログラムを作成しようとしています。次のスニペットで

+1

どの行が実際に行番号60ですか。 – hjpotter92

+0

fixture = love.physics.newFixture(objects [objectIndex] .body、objects [objectIndex] .shape、1) –

答えて

1

:それが割り当てられている間

objects[objectIndex] = { 
    body = love.physics.newBody(world, (x-1/2) * TileW, (x-1/2) * TileH), 
    shape = love.physics.newRectangleShape(32, 32), 
    fixture = love.physics.newFixture(objects[objectIndex].body, objects[objectIndex].shape, 1) 
} 

あなたは、自己のテーブルのキーを参照します。これはluaの無効な手順です。 fixtureキーに後で値を割り当てます。

objects[objectIndex] = { 
    body = love.physics.newBody(world, (x-1/2) * TileW, (x-1/2) * TileH), 
    shape = love.physics.newRectangleShape(32, 32) 
} 
objects[objectIndex].fixture = love.physics.newFixture(objects[objectIndex].body, objects[objectIndex].shape, 1) 
関連する問題