Tôi đang sử dụng thư viện đồ họa cho phép bạn lập trình trong Lua. Tôi có nhu cầu về thư viện hướng dẫn A * vì vậy tôi đã tìm thấy một trực tuyến. Nó chỉ là 1 lua tập tin mà các pathfinding và 1 ví dụ tập tin. Trong tệp mẫu, nó sử dụng đối tượng như:lua cách yêu cầu hoạt động
-- Loading the library
local Astar = require 'Astar'
Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1
Tôi chạy tập lệnh và mọi thứ hoạt động. Vì vậy, bây giờ tôi thêm tệp Astar.lua vào vị trí đường dẫn nơi công cụ đồ họa của tôi đang chạy và làm điều tương tự và tôi gặp lỗi trên dòng Astar (bản đồ, 1):
"cố gắng gọi địa phương 'AStar '(một giá trị số)
Bất cứ ý tưởng tại sao tôi sẽ nhận được rằng lỗi khi tôi đang làm điều tương tự như ví dụ mà đi kèm với lib Astar này?
Dưới đây là một chút của tập tin 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
Vì vậy, lưu ý rằng khi tôi chạy điều này từ công cụ đồ họa của tôi, nó lại chuyển 1, nhưng khi chạy từ ví dụ mà nó đi kèm với nó trở về một bảng, đó là những gì nó cần được trả lại. Vì vậy, không chắc chắn lý do tại sao nó sẽ chỉ trở lại 1.
Tôi nhận thấy trong thông báo lỗi '" cố gắng gọi địa phương 'AStar' (giá trị số) "', S được viết hoa. Đó có phải là lỗi đánh máy của bạn hay bạn có thể sử dụng viết hoa sai ở đâu đó? – Alex