2012-09-29 78 views
0

我嘗試做這樣的事情:使用中產階級庫超

需要「中產階級」

Button = class('Button',DisplayObject) 
以創建一些按鈕,我想成爲顯示對象

所以...

myButton = Button() 

但它不起作用。看來DisplayObject不能被識別爲一個類。

回答

0

的DisplayObject是不是一類...

它甚至不是一個正確的Lua對象的DisplayObject是一個用戶類型,可能有很多含義,做你想做的事是非常糟糕的主意......

如果你想創建一個Lua的「類」出一個DisplayObject(例如,一個按鈕)的,真正正確的方式應該是:

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嗎?是的,你可以,但是這很簡單,它是爲一輛馬車設計一個輕質合金鋼輪,或者在飛機上安裝一個三級火箭發動機,它是過度工程,並且不會增加任何性能(運行時,編碼時間,編碼維護......),甚至可能使情況變得更糟。

學習如何使用Lua!非常靈活和有趣,有非常廣泛的建築選擇!