I got an error But I dont know what to do with this
Code: Select all
ents = {}
ents.objects = {}
ents.objpath = "entities/"
local register = {}
local id = 0
function ents.Startup()
register["box"] = love.filesystem.load( ents.objpath "box" )
end
function ents.Derive(name)
return love.filesystem.load( ents.Objpath .. name .. "lua" ) ()
end
function ents.Create(name, x, y)
if not x then
x = 0
end
if not y then
y = 0
end
if register[name] then
id = id + 1
local ent = register[name] ()
ent:load()
ent:setPos(x, y)
ent.id = id
ents.objects[#ents.objects + 1] = ent
return ents.objects[#ents.objects]
else
print("Error: Entity" .. name .. " does not exist!")
return false;
end
end
function ents:update(dt)
for i, ent in pairs(ents.objects) do
if ent.update then
ent:update(dt)
end
end
end
function ents:draw()
for i, ent in pairs(ents.objects) do
if ent.draw then
ent:draw()
end
end
end
Code: Select all
function love.load()
require("entities")
ents.Startup()
xCloud = 0
imageCloud_1 = love.graphics.newImage("pictures/cloud_1.png")
enemy_1 = love.graphics.newImage("pictures/enemy_1.png")
enemy_2 = love.graphics.newImage("pictures/enemy_2.png")
grassbackground_1 = love.graphics.newImage("pictures/background_1.png")
local boxEnt = ents.Create( "box", 128, 128 )
end
function love.draw()
local x = love.mouse.getX( )
local y = love.mouse.getY( )
love.graphics.setColor( 182, 239, 254, 255 )
love.graphics.rectangle( "fill", 0, 0, 800, 300 )
love.graphics.setColor( 254, 255, 255, 255 )
love.graphics.draw( imageCloud_1, xCloud -256, 128, 0, 1, 1, 0, 0 )
love.graphics.setColor(255, 255, 255, 255)
love.graphics.draw(grassbackground_1, 0, 0, 0, 1, 1, 0, 0)
ents:draw()
end
function love.update(dt)
xCloud = xCloud + 32*dt
if xCloud >= (800 + 256) then
xCloud = 0
end
ents:update(dt)
end
function love.focus(bool)
end
function love.keypressed( key, unicode )
end
function love.keyreleased( key, unicode )
end
function love.mousepressed( x, y, button )
end
function love.mousreleased( x, y, button )
end
function love.quit()
end
Code: Select all
local ent = ents.Derive("base")
function ent:load( x, y )
self:setPos( x, y)
self.w = 64
self.h = 64
end
function ent:setSize( w, h )
self.w = w
self.h = h
end
function ent:getSize()
return self.w, self.h;
end
function ent:update(dt)
self.y = self.y + 32*dt
end
function ent:draw()
local x, y = self:getPos()
local w, h = self:getSize()
love.graphics.setColor(0, 0, 0, 255)
love.graphics.rectangle("fill", x, y, w, h )
end
return ent;