婷婷综合国产,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中讓回調函數支持回調對象方法的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 海淀区| 民县| 准格尔旗| 武川县| 柳林县| 阳春市| 芷江| 拜泉县| 攀枝花市| 桂林市| 淮南市| 渭南市| 平塘县| 汶上县| 民权县| 安泽县| 正阳县| 漾濞| 泽库县| 金沙县| 仙居县| 凤城市| 大渡口区| 延庆县| 静海县| 信丰县| 南昌县| 庆阳市| 东海县| 班戈县| 大姚县| 喀喇沁旗| 永泰县| 扎鲁特旗| 金川县| 绥滨县| 平顶山市| 城市| 阜宁县| 东港市| 江都市|