Я использую графическую библиотеку, которая позволяет программировать на Lua. Мне нужна библиотека A * pathfinding, поэтому я нашел ее в Интернете. Это просто 1 файл lua, который выполняет поиск пути, и 1 файл примера. В файле примера он использует объект как:
-- Loading the library
local Astar = require 'Astar'
Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1
Я запускаю скрипт и все работает. Поэтому теперь я добавляю файл Astar.lua в путь, где работает мой графический движок, и делаю то же самое, и я получаю сообщение об ошибке в строке Astar (map, 1):
"попытка вызвать местный" Астар "(числовое значение)
Любые идеи, почему я получаю эту ошибку, когда я делаю то же самое, что и пример, который идет с этой библиотекой AStar?
Вот немного файла AStar
-- The Astar class
local Astar = {}
setmetatable(Astar, {__call = function(self,...) return self:init(...) end})
Astar.__index = Astar
-- Loads the map, sets the unwalkable value, inits pathfinding
function Astar:init(map,obstvalue)
self.map = map
self.OBST_VALUE = obstvalue or 1
self.cList = {}
self.oList = {}
self.initialNode = false
self.finalNode = false
self.currentNode = false
self.path = {}
self.mapSizeX = #self.map[1]
self.mapSizeY = #self.map
end
Итак, обратите внимание, что когда я запускаю это из моего графического движка, он возвращает 1, но при запуске из примера, который он поставил, он возвращает таблицу, что и должно возвращаться. Так что не уверен, почему он вернется только 1.