我尝试做这样的事情:
需要“中产阶级”
Button = class('Button',DisplayObject)
所以为了创建一些我想成为显示对象的按钮......
myButton = Button()
但它不起作用。似乎 DisplayObject 不被识别为一个类。
我尝试做这样的事情:
需要“中产阶级”
Button = class('Button',DisplayObject)
所以为了创建一些我想成为显示对象的按钮......
myButton = Button()
但它不起作用。似乎 DisplayObject 不被识别为一个类。
DisplayObject 不是一个类...
它甚至不是一个合适的 Lua 对象,DisplayObject 是一种用户类型,可能有很多含义,做你想做的事是非常糟糕的主意......
如果您想从 DisplayObject(如按钮)创建 Lua“类”,真正正确的方式是:
Mybutton = display.newImage(group, name)
function Mybutton:myCustomFunctionHere()
--dostuff
end
或者如果你真的想要一个按钮构造函数......
local function buttonConstructor(groupArg, nameArg, customArg)
local returnValue = display.newImage(groupArg, nameArg);
returnValue.someVar = customArg;
returnValue.anotherVar = customArg;
return returnValue;
end
中间类不是为你想做的事情而设计的...... DisplayObject 根本不是一个类......(即使它看起来像一个类,因为它具有属性和方法)
不要用沉重的 OOP 思想编写 Lua,你可以在 Lua 中做 OOP?是的,你可以,但这会使简单的事情复杂化,它是为马车设计一个轻合金钢轮,或者在飞机上安装一个 3 级火箭发动机,这是过度设计,不会提高任何东西的性能(运行时、编码时间,编码维护......)甚至可能使情况变得更糟。
学习如何使用 Lua!非常灵活和有趣,具有非常广泛的架构选项!