demibug

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            24 Posts :: 3 Stories :: 2 Comments :: 0 Trackbacks

          cocos2d中有3種回調(diào)方式:CCCallFunc、CCCallFuncN和CCCallFuncND

          其中,他們有什么區(qū)別呢?

           

          這里我稍微總結(jié)下,不對(duì)的歡迎討論和拍磚!

           

          看源代碼的excute方法,我總結(jié)下面3點(diǎn):

          1. CCCallFunc

           

          C代碼  收藏代碼
          1. -(void) execute  
          2. {  
          3.     [targetCallback performSelector:selector];  
          4. }  

          CCCallFunc是執(zhí)行對(duì)應(yīng)的回調(diào)方法,其中回調(diào)方法不可帶參數(shù)。

           

          2. CCCallFuncN

           

          C代碼  收藏代碼
          1. -(void) execute  
          2. {  
          3.     [targetCallback performSelector:selector withObject:target];  
          4. }  

           CCCallFuncN多帶一個(gè)參數(shù),而參數(shù)本身是動(dòng)作Aciton本身。就像UIButton那樣,我們可以@selector(btnUpInside:),帶的參數(shù)就是UIButton本身。

           

          3. CCCallFuncND

           

          C代碼  收藏代碼
          1. -(void) execute  
          2. {  
          3.     [invocation_ setArgument:&target atIndex:2];  
          4.     [invocation_ setArgument:&data atIndex:3];  
          5.     [invocation_ invoke];  
          6. }  
          CCCallFuncND帶2個(gè)參數(shù),一個(gè)是動(dòng)作Action本身,一個(gè)是你自己定義的回調(diào)函數(shù)的參數(shù)。
          posted on 2013-02-26 15:36 Hiji 閱讀(334) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高碑店市| 新干县| 含山县| 江津市| 都匀市| 远安县| 星子县| 大方县| 建阳市| 濮阳市| 白沙| 盐边县| 遂宁市| 高唐县| 广汉市| 重庆市| 合江县| 遂川县| 虎林市| 泽普县| 谢通门县| 老河口市| 湖口县| 民乐县| 甘德县| 资阳市| 凤台县| 德钦县| 枞阳县| 淳化县| 汾阳市| 璧山县| 桃园市| 蒙阴县| 合作市| 西乌| 赤峰市| 五台县| 丽水市| 平和县| 株洲县|