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

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

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

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


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

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


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

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


復(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)


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

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


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

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

相關(guān)文章

  • 舉例說(shuō)明Lua中元表和元方法的使用

    舉例說(shuō)明Lua中元表和元方法的使用

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

    編寫(xiě)高性能Lua代碼的方法

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

    Lua中的迭代器(iterator)淺析

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

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

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

    Lua中字符串(string)淺析

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

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

    今天小編就為大家分享一篇關(guān)于Luvit像Node.js一樣寫(xiě)Lua應(yīng)用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    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)庫(kù),需要的朋友可以參考下
    2014-09-09
  • Lua教程(十): 全局變量和非全局的環(huán)境

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

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

最新評(píng)論

喀喇沁旗| 五大连池市| 兴化市| 秦安县| 盐源县| 民权县| 大同县| 香河县| 青铜峡市| 收藏| 平凉市| 锦州市| 合江县| 仁布县| 乐清市| 泸西县| 南乐县| 尉犁县| 周口市| 哈巴河县| 五华县| 皋兰县| 安乡县| 温泉县| 利津县| 赤水市| 都安| 界首市| 江安县| 永德县| 澳门| 延长县| 龙口市| 民权县| 信丰县| 霞浦县| 焦作市| 登封市| 太康县| 双鸭山市| 黄浦区|