婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua中讓回調函數支持回調對象方法的解決方法

Lua中讓回調函數支持回調對象方法的解決方法

熱門標簽:漳州智云呼電話機器人 怎么去除地圖標注 地圖標注大廈 百度地圖標注早餐區域 新岸線智能電銷機器人 清朝地圖標注哈爾濱 個人怎么在地圖標注需要的店鋪 冀州市地圖標注 武漢外呼防封系統多少錢

在 Cocos2d-Lua 中,存在很多異步或延遲的操作,例如后臺加載圖片、等待一定時間執行代碼等。這些功能的函數通常要求傳入一個 function 作為參數。


復制代碼 代碼如下:

-- 在后臺加載一個圖像,加載完成后輸出消息
display.addImageAsync("hello.png", function()
    print("load hello.png completed")
end)


但如果我們希望這種回調支持一個對象方法,就有點小困難了。因為 Lua 的對象方法在調用時需要使用 object:method() 形式,而回調是無法支持這種格式的。

好在 Lua 強大的閉包功能不但好用而且對性能無影響,所以我們可以將代碼改寫為:


復制代碼 代碼如下:

local MyClass = class("MyClass")

function MyClass:print()
    print("load hello.png completed")
end

----

local my = MyClass.new()

display.addImageAsync("hello.png", function()
    my:print()
end)


原理非常簡單,就是在匿名函數里調用對象方法而已。

Quick 框架里已經提供了更簡單的使用方法 handler() 函數:


復制代碼 代碼如下:

display.addImageAsync("hello.png", hander(my, my.print))

您可能感興趣的文章:
  • Lua中的string庫(字符串函數庫)總結
  • Lua中的模塊與module函數詳解
  • Lua中的函數相關知識點整理匯總

標簽:金昌 德宏 天門 宣城 儋州 臺灣 天門 濰坊

巨人網絡通訊聲明:本文標題《Lua中讓回調函數支持回調對象方法的解決方法》,本文關鍵詞  Lua,中,讓,回調,函數,支持,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua中讓回調函數支持回調對象方法的解決方法》相關的同類信息!
  • 本頁收集關于Lua中讓回調函數支持回調對象方法的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 昭觉县| 抚宁县| 德令哈市| 顺平县| 阳春市| 五常市| 徐州市| 惠州市| 仙桃市| 巴马| 金山区| 启东市| 汨罗市| 温泉县| 威信县| 抚宁县| 惠来县| 无极县| 新郑市| 南平市| 赣州市| 民乐县| 尤溪县| 淄博市| 富锦市| 石楼县| 尼玛县| 嘉义县| 宿州市| 钟山县| 青河县| 保德县| 盐亭县| 木里| 恩施市| 南丰县| 长泰县| 石台县| 高尔夫| 顺平县| 资源县|