最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Lua中讓回調(diào)函數(shù)支持回調(diào)對象方法的解決方法

 更新時(shí)間:2014年12月28日 11:36:30   投稿:junjie  
這篇文章主要介紹了Lua中讓回調(diào)支持對象方法,一般情況下,Lua中只支持回調(diào)一個(gè)函數(shù),本文方法實(shí)現(xiàn)可以回調(diào)一個(gè)對象的方法,需要的朋友可以參考下

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


復(fù)制代碼 代碼如下:

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


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

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


復(fù)制代碼 代碼如下:

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)


原理非常簡單,就是在匿名函數(shù)里調(diào)用對象方法而已。

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


復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • 舉例說明Lua中元表和元方法的使用

    舉例說明Lua中元表和元方法的使用

    這篇文章主要介紹了舉例說明Lua中元表和元方法的使用,文中--兩個(gè)橫線開始單行的注釋,--[[加上兩個(gè)[和]表示多行的注釋--]],需要的朋友可以參考下
    2015-07-07
  • 編寫高性能Lua代碼的方法

    編寫高性能Lua代碼的方法

    這篇文章主要介紹了編寫高性能Lua代碼的方法,本文是基于Lua語言的創(chuàng)造者Roberto Ierusalimschy的一篇文章翻譯改寫而來,需要的朋友可以參考下
    2014-10-10
  • Lua中的迭代器(iterator)淺析

    Lua中的迭代器(iterator)淺析

    這篇文章主要介紹了Lua中的迭代器(iterator)淺析,本文講解了pairs迭代器和、ipairs迭代器,同時(shí)提及了io.lines、string.gmatch、迭代器與Closure(閉包)等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • Lua檢測數(shù)組(tabble)中是否包含某個(gè)值

    Lua檢測數(shù)組(tabble)中是否包含某個(gè)值

    這篇文章主要介紹了Lua檢測數(shù)組(tabble)中是否包含某個(gè)值以及l(fā)ua 判斷一個(gè)字符是否存在某個(gè)數(shù)組兩個(gè)方法,需要的朋友可以參考下
    2015-05-05
  • Lua中字符串(string)淺析

    Lua中字符串(string)淺析

    這篇文章主要介紹了Lua中字符串(string)淺析,本文講解了字符串的聲明、連接、簡單的使用方法等,是一篇入門教程,需要的朋友可以參考下
    2014-09-09
  • Luvit像Node.js一樣寫Lua應(yīng)用

    Luvit像Node.js一樣寫Lua應(yīng)用

    今天小編就為大家分享一篇關(guān)于Luvit像Node.js一樣寫Lua應(yīng)用,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Lua進(jìn)階教程之閉包函數(shù)、元表實(shí)例介紹

    Lua進(jìn)階教程之閉包函數(shù)、元表實(shí)例介紹

    這篇文章主要介紹了Lua進(jìn)階教程之閉包函數(shù)、元表實(shí)例介紹,本文詳細(xì)講解了Lua的閉包函數(shù)和元表,并同時(shí)和C++做了比較,需要的朋友可以參考下
    2014-09-09
  • Lua loadstring函數(shù)用法實(shí)例

    Lua loadstring函數(shù)用法實(shí)例

    這篇文章主要介紹了Lua loadstring函數(shù)用法實(shí)例,loadstring最典型的用處是去執(zhí)行外部代碼,也就是位于程序之外的代碼,需要的朋友可以參考下
    2015-04-04
  • Lua中的動(dòng)態(tài)鏈接實(shí)例

    Lua中的動(dòng)態(tài)鏈接實(shí)例

    這篇文章主要介紹了Lua中的動(dòng)態(tài)鏈接實(shí)例,動(dòng)態(tài)鏈接是指在Lua中使用C編譯的動(dòng)態(tài)庫,需要的朋友可以參考下
    2014-09-09
  • Lua教程(十): 全局變量和非全局的環(huán)境

    Lua教程(十): 全局變量和非全局的環(huán)境

    這篇文章主要介紹了Lua教程(十): 全局變量和非全局的環(huán)境,本文講解了老的全局變量環(huán)境和Lua5中新的非全局環(huán)境相關(guān)知識,需要的朋友可以參考下
    2015-04-04

最新評論

武威市| 唐河县| 泸水县| 文安县| 巨野县| 井研县| 隆尧县| 宁晋县| 玛纳斯县| 会东县| 渭源县| 台中县| 广宗县| 剑河县| 平果县| 乳山市| 满洲里市| 军事| 江北区| 湘乡市| 收藏| 札达县| 江津市| 鄂尔多斯市| 商南县| 绵阳市| 濉溪县| 金平| 亚东县| 巴林左旗| 兴仁县| 汝州市| 永胜县| 新泰市| 师宗县| 龙胜| 广汉市| 子长县| 霍林郭勒市| 堆龙德庆县| 乌海市|