所以我正在 Lua 中开发一款游戏,我正在尝试使用元表和分类,但我认为我正在导入我的 PHP 知识并稍微横向做事。
-- Basic Monster
Monster = {}
function Monster:new(newX, newY)
local newMonster = {x = newX, y = newY}
setmetatable(newMonster, {__index = Monster})
return newMonster
end
function Monster:moveTo(newX, newY)
self.x = newX
self.y = newY
end
function Monster:takeDamage()
self.hitPoints = self.hitPoints - playerWeapon.damage
if self.hitPoints <= 0 then
self.die()
end
end
function Monster:tap()
self.takeDamage()
end
function Monster:die()
self.removeSelf()
end
--Groblin
Groblin = {}
setmetatable(Groblin, {__index = Monster})
function Groblin:new(newX, newY)
local groblin = display.newImage('assets/images/goblin.png');
groblin.hitPoints = 4
physics.addBody(groblin, 'static')
gameGroup.insert(groblin)
return groblin
end
我基本上希望能够产生几种不同类型的怪物,并为它们保留一些基类功能,但我不确定在上面的示例中我如何将基类与Groblin
我制作的类联系起来,因为我觉得我在Groblin:new
.