我正在使用 Lua 上的游戏框架。现在,如果我想创建一个按钮,我会为我的按钮创建一个表格,该表格将包含功能和两个精灵(按钮向下和向上)。
Sprites 有很多基本功能,例如setLocation(self, x, y)
or getDimensions(self)
。
我不想创建很多这样的功能:
function button.setLocation(self, x, y)
self.buttonUpSprite(self, x, y)
end
但我想“自动”将大多数对我的按钮的调用直接委托给 buttonUp 精灵。
只需将按钮表的元表设置__index
为指向精灵就会转发精灵函数的调用,但self
引用仍将指向按钮而不是我想要操作的精灵。
有没有一种干净的方式来做这个代表团?