Структура моего проекта следующая:
--Shooter
----sprites
------background.png
------player.png
------zombie.png
----units
------player.lua
------zombie.lua
----main.lua
----load.lua
----update.lua
----draw.lua
А у моего main.lua
будет следующее:
local Bullet = require("units.bullet")
local Player = require("units.player")
local Zombie = require("units.zombie")
require("load")
require("update")
require("draw")
require("functions")
love.window.setTitle("Shooter")
function love.load()
Load()
end
function love.update(dt)
Update(dt)
end
function love.draw()
Draw()
end
Например, bullet.lua
:
local Bullet = {}
bulletSprite = love.graphics.newImage('sprites/bullet.png')
function Bullet.create()
local newBullet = {
pos = {},
speed = 10,
sprite = bulletSprite,
direction = 0,
dead = false
}
return setmetatable(newBullet, {__index = Bullet})
end
function Bullet:setPos(x, y)
self.pos.x = x
self.pos.y = y
end
function Bullet:setDirection(angle)
self.direction = angle
end
function Bullet:move(dt)
local distance = self.speed * dt * 60
self.pos.x = self.pos.x + math.cos(self.direction) * distance
self.pos.y = self.pos.y + math.sin(self.direction) * distance
end
function spawnBullet(bullets, player)
local newBullet = Bullet.create()
newBullet:setPos(player.pos.x, player.pos.y)
newBullet.direction = player.angle
table.insert(bullets, newBullet)
end
Проблема в том, что ни один из файлов в папке units
не будет загружен должным образом.Из журнала ошибок я вижу, что он пытается найти bullet.lua
в корневом каталоге, а затем различные библиотеки love2d
и lua
.
Я пробовал разные вещи, такие как require("./units/bullet")
или замену /
с .
, но пока безуспешно.
Извлечение этих файлов из папки units
в корневую папку будет работать.Однако загрузка изображений из папки sprites
работает (например, love.graphics.draw(sprites.background, 0, 0)
).
Любая помощь?