最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在cocos2d-x中回調(diào)函數(shù)-創(chuàng)新互聯(lián)

這篇文章給大家分享的是在cocos2d-x中回調(diào)函數(shù)的方法,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

創(chuàng)新互聯(lián)是專業(yè)的榕城網(wǎng)站建設公司,榕城接單;提供成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行榕城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

代碼一

  1. // callback.cpp : 定義控制臺應用程序的入口點。
  2. //
  3. #include "stdafx.h"
  4. class
  5. typedefvoid//定義一個CCObject不帶任何實參的函數(shù)指針SEL_CallFunc
  6. #define callfunc_selector(_SELECTOR) (SEL_CallFunc)(&_SELECTOR)//僅僅是一個宏
  7. class
  8. public
  9. void
  10. void
  11. "test->func"
  12. intint
  13. //創(chuàng)建一個Test對象,暫時沒用到
  14. new
  15. //聲明定義了一個類型為SEL_CallFunc的函數(shù)指針f,然后用f指針指向Test::func函數(shù)
  16. //上面一句替換宏后等價于SEL_CallFunc f = SEL_CallFunc)(&Test::func);
  17. //創(chuàng)建一個CCObject對象
  18. new
  19. //調(diào)用執(zhí)行Test::func函數(shù)
  20. delete
  21. delete
  22. return

運行結(jié)果:

如何在cocos2d-x中回調(diào)函數(shù)

結(jié)果分析:

1.我們有一個CCObject類

2.我們可以通過這種方法typedef void (CCObject::*SEL_CallFunc)();來定義一個CCObject類的函數(shù)指針類型 SEL_CallFunc

3.我們定義了一個SEL_CallFunc的指針變量f

4.假定我們有一個類Test,里面有個函數(shù)func(),它的返回值和實參都與SEL_CallFunc一致,那么我們可以通過如下方法去調(diào)用這個函數(shù).

 SEL_CallFunc f = callfunc_selector(Test::func);
 CCObject* obj = new CCObject();
 (obj->*f)();

總之我覺得這看起來有點詭異- - 反正記住能這么干就好了

代碼二:

為了凸顯新增加的代碼,之前的注釋就刪掉了。

  1. // callback.cpp : 定義控制臺應用程序的入口點。
  2. //
  3. #include "stdafx.h"
  4. class
  5. typedefvoid
  6. #define callfunc_selector(_SELECTOR) (SEL_CallFunc)(&_SELECTOR)
  7. class
  8. public
  9. int//增加公開的成員變量value
  10. public
  11. void
  12. void
  13. "test->func value:%d"http://打印value
  14. intint
  15. new
  16. //賦值100
  17. new
  18. delete
  19. delete
  20. return

運行結(jié)果:

如何在cocos2d-x中回調(diào)函數(shù)

結(jié)果分析:

我在Test類里增加了成員變量value,并且給它賦值100,同時在func函數(shù)里把它打印出來。與代碼一一樣的方法來調(diào)用func函數(shù),怎么說呢,value打印出來的值不是100而是-33686272,說明它不知道把哪塊內(nèi)存空間里的值給打印出來了。這跟我預想的應該是一樣的,畢竟我們從頭到尾都沒有用到過test這個對象- -如果能打印出100那就更怪異了。那怎么才能打印出test里的成員呢,按邏輯,那一定跟Test類的具體對象有關(guān)系。代碼三給出方案。

代碼三

  1. // callback.cpp : 定義控制臺應用程序的入口點。
  2. //
  3. #include "stdafx.h"
  4. class
  5. typedefvoid
  6. #define callfunc_selector(_SELECTOR) (SEL_CallFunc)(&_SELECTOR)
  7. classpublic//繼承與CCObject
  8. public
  9. int
  10. public
  11. void
  12. void
  13. "test->func value:%d"
  14. intint
  15. new
  16. //CCObject* obj = new CCObject();
  17. //采用test對象去調(diào)用
  18. delete
  19. //delete obj;
  20. return

結(jié)果:

如何在cocos2d-x中回調(diào)函數(shù)

結(jié)果分析:

 好了,成功打印出了value。

 1.讓Test繼承CCObject

  2.不再用CCObject的一個對象obj去調(diào)用f而是改成Test的一個對象test去調(diào)用f

PS:如果采用以下方法去調(diào)用也是可以打印出value

CCObject* obj = test;
(obj->*f)();

PS:cocos2d-x的類都是繼承與CCObject

關(guān)于在cocos2d-x中回調(diào)函數(shù)的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)站題目:如何在cocos2d-x中回調(diào)函數(shù)-創(chuàng)新互聯(lián)
分享路徑:http://fisionsoft.com.cn/article/hppgj.html