2017-12-28 18 views
1

Ich weiß, dass der Fehler durch den Index nicht existiert, aber ich weiß nicht, warum es nicht existiert. Ich versuche, ein Programm in der mapDraw Methode implementiert, um , die jede Wandfliese fügt (#) ein Physik-Objekt:map-functions.lua: 60: Versuch, einen Nullwert zu indizieren (love2d, Physik)

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 

Ich bin nur beginnend mit love2d und Spiel machen und würde Hilfe appriciate, danke .

+1

welche Linie ist eigentlich Linie # 60? – hjpotter92

+0

fixture = love.physics.newFixture (Objekte [ObjektIndex] .Körper, Objekte [ObjektIndex] .Shape, 1) –

Antwort

1

im folgenden Ausschnitt:

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) 
} 

Sie sind selbst den Tabellenschlüssel Referenzierung, während sie zugewiesen wird. Dies ist ein ungültiger Schritt in lua. Weisen Sie dem fixture Schlüssel einen Wert später zu:

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) 
Verwandte Themen