Я пытаюсь использовать поведение классов в lua, где есть корабль, у которого есть два других класса pos и vector. Но я не могу заставить его работать так, как я предполагал, что смогу
Point = {x=0, y=0}
function Point:new(p)
p = p or {}
return p
end
Ship =
{
pos = {Point:new{x=0,y=0}},
vector = {Point:new{x=0,y=0}} -- I thought this would be sufficient for access being available for vector
}
-- create new ship class
function Ship:new(pos)
p = p or {}
p.pos = pos
p.vector = Point:new{x=0,y=0} -- I need to do this or accessing vector will crash (The problem)
return p
end
-- Create new ship...
plrShip = Ship:new{}
plrShip.pos.x = 300
plrShip.pos.y = 300
Есликто-нибудь знает, как сделать приведенный выше код чище / лучше, я был бы благодарен