我正在使用一個圖形庫,讓你在Lua中編程。我需要A *尋路庫,所以我找到了一個在線。這只是一個lua文件,可以進行路徑查找和1個示例文件。在示例文件中,它使用如下對象:lua如何工作
-- Loading the library
local Astar = require 'Astar'
Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1
我運行腳本,一切正常。因此,現在我將Astar.lua文件添加到我的圖形引擎正在運行的路徑位置,並執行相同的操作,並在Astar(地圖,1)行上得到錯誤:
「嘗試調用本地'AStar '(一個數值)
任何想法,爲什麼我會得到當我在做同樣的事情,隨此愛仕達lib中的例子錯誤?
這裏是一個小的愛仕達文件
的-- 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.
我注意到在錯誤消息「」嘗試調用本地'AStar'(數字值)「',S是大寫。這是你的錯字還是你可能在某處使用了錯誤的大寫字母? – Alex