欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在 Cocos2d-Lua 中,存在很多異步或延遲的操作,例如后臺加載圖片、等待一定時間執(zhí)行代碼等。這些功能的函數通常要求傳入一個 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 極簡入門指南(七):面向對象編程

    Lua 極簡入門指南(七):面向對象編程

    這篇文章主要介紹了Lua 極簡入門指南(七):面向對象編程,本文講解了類和繼承的概念,并給出了編程實例,需要的朋友可以參考下
    2014-11-11
  • Lua判斷字符串前綴是否為指定字符的3種方法

    Lua判斷字符串前綴是否為指定字符的3種方法

    這篇文章主要介紹了Lua判斷字符串前綴是否為指定字符的3種方法,本文還對三種方法分別做了性能測試,需要的朋友可以參考下
    2015-04-04
  • Lua中函數的幾個特別之處探究

    Lua中函數的幾個特別之處探究

    這篇文章主要介紹了Lua中函數的幾個特別之處探究,本文講解了Lua的函數創(chuàng)建、函數的參數、函數參數個數自適應、函數多重返回值等內容,需要的朋友可以參考下
    2014-09-09
  • Lua的堆棧淺析

    Lua的堆棧淺析

    這篇文章主要介紹了Lua的堆棧淺析,本文參考游戲人工智能編程案例精粹中的Lua堆棧索引圖,畫出了自己的一張理解圖,需要的朋友可以參考下
    2014-09-09
  • 詳解Lua中的元表概念

    詳解Lua中的元表概念

    這篇文章主要介紹了詳解Lua中的元表,是Lua入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • 淺析C\C++和Lua的通信方式

    淺析C\C++和Lua的通信方式

    lua作為小巧精悍的腳本語言,易于嵌入c/c++中 , 廣泛應用于游戲AI ,實際上在任何經常變化的邏輯上都可以使用lua實現(xiàn),配合c/c++實現(xiàn)的底層接口服務,能夠大大降低系統(tǒng)的維護成本。
    2014-09-09
  • Lua中的table學習筆記

    Lua中的table學習筆記

    這篇文章主要介紹了Lua中的table學習筆記,本文講解了table.concat、table.insert、table.maxn、table.pack、 table.remove、table.sort等方法的使用,需要的朋友可以參考下
    2014-12-12
  • Lua中的函數(function)、可變參數、局部函數、尾遞歸優(yōu)化等實例講解

    Lua中的函數(function)、可變參數、局部函數、尾遞歸優(yōu)化等實例講解

    這篇文章主要介紹了Lua中的函數(function)、可變參數、局部函數、尾遞歸優(yōu)化等實例講解,需要的朋友可以參考下
    2014-09-09
  • Lua學習筆記之表和函數

    Lua學習筆記之表和函數

    這篇文章主要介紹了Lua學習筆記之表和函數,本文在代碼中使用大量注釋講解了Lua的表和函數的使用,需要的朋友可以參考下
    2014-09-09
  • 淺談chuck-lua中的多線程

    淺談chuck-lua中的多線程

    Lua對多線程支持初步體驗是本文要介紹的內容,主要是來了解LUA中多線程的使用,,經過反復的實驗得到的結果是,lua不支持多線程,如何讓它支持?來看本文內容。
    2015-07-07

最新評論