400-1100-266
9:00-24:00(工作日)
在 Cocos2d-Lua 中,存在很多異步或延遲的操作,例如后臺加載圖片、等待一定時間執(zhí)行代碼等。這些功能的函數(shù)通常要求傳入一個 function 作為參數(shù)。
但如果我們希望這種回調(diào)支持一個對象方法,就有點(diǎn)小困難了。因為 Lua 的對象方法在調(diào)用時需要使用 object:method() 形式,而回調(diào)是無法支持這種格式的。
好在 Lua 強(qiáng)大的閉包功能不但好用而且對性能無影響,所以我們可以將代碼改寫為:
function MyClass:print() print("load hello.png completed") end
----
local my = MyClass.new()
display.addImageAsync("hello.png", function() my:print() end)
原理非常簡單,就是在匿名函數(shù)里調(diào)用對象方法而已。
Quick 框架里已經(jīng)提供了更簡單的使用方法 handler() 函數(shù):
標(biāo)簽:蘭州 仙桃 崇左 衡水 黃山 湘潭 湖南 銅川
上一篇:Lua 學(xué)習(xí)筆記之C API 遍歷 Table實現(xiàn)代碼
下一篇:Lua中變相實現(xiàn)continue跳出循環(huán)
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網(wǎng)絡(luò) m.wpzone.cn 始建于2005年
全國網(wǎng)站建設(shè)網(wǎng)站開發(fā)咨詢熱線:400-1100-266?? 0514-86177077
江蘇揚(yáng)州巨人網(wǎng)絡(luò)科技有限公司 ??總部地址:江蘇省揚(yáng)州信息產(chǎn)業(yè)基地11號樓4層
《增值電信業(yè)務(wù)經(jīng)營許可證》蘇B2-20120278 ?? 蘇ICP備15040257號 網(wǎng)站地圖