Używam biblioteki graficznej, która pozwala programować w Lua. Potrzebuję biblioteki ze ścieżką A *, więc znalazłem ją w Internecie. To tylko 1 plik lua, który wykonuje plik pathfinding i 1 przykładowy. W przykładowym pliku używa obiektu:lua jak wymaga pracy
-- Loading the library
local Astar = require 'Astar'
Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1
Uruchomę skrypt i wszystko działa. Teraz dodam plik Astar.lua do ścieżki, w której działa mój silnik graficzny i robię to samo, a otrzymuję błąd na linii Astar (mapa 1):
"próba połączenia lokalnego" AStar "(wartość liczbowa)
Jakieś pomysły dlaczego miałbym być uzyskiwanie ten błąd, gdy robię to samo, co na przykład, że pochodzi z tego Astar lib?
Oto mały pliku 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
Należy pamiętać, że po uruchomieniu tego z mojego silnika graficznego jest ponownie toczenie 1, ale po uruchomieniu z przykładu, który przyszedł, zwróci stół, który powinien powrócić. Nie wiem więc, dlaczego powrócił tylko 1.
Zauważam w komunikacie o błędzie '" próba wywołania lokalnego 'AStar' (wartość liczbowa) "', S jest napisane wielkimi literami. Czy to jest literówka z twojej strony, czy może używasz gdzieś niewłaściwej wielkości liter? – Alex