demibug

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            24 Posts :: 3 Stories :: 2 Comments :: 0 Trackbacks

          cocos2d中有3種回調方式:CCCallFunc、CCCallFuncN和CCCallFuncND

          其中,他們有什么區別呢?

           

          這里我稍微總結下,不對的歡迎討論和拍磚!

           

          看源代碼的excute方法,我總結下面3點:

          1. CCCallFunc

           

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

          CCCallFunc是執行對應的回調方法,其中回調方法不可帶參數。

           

          2. CCCallFuncN

           

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

           CCCallFuncN多帶一個參數,而參數本身是動作Aciton本身。就像UIButton那樣,我們可以@selector(btnUpInside:),帶的參數就是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個參數,一個是動作Action本身,一個是你自己定義的回調函數的參數。
          posted on 2013-02-26 15:36 Hiji 閱讀(334) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 旬邑县| 左云县| 襄汾县| 独山县| 扶余县| 江达县| 铁力市| 子长县| 武义县| 龙岩市| 丹巴县| 侯马市| 高要市| 西贡区| 大连市| 通河县| 杨浦区| 昌乐县| 淮南市| 上杭县| 定兴县| 同仁县| 林周县| 内黄县| 杭锦后旗| 上饶县| 兴和县| 板桥市| 鹤壁市| 昌图县| 什邡市| 娄底市| 高碑店市| 城口县| 赣州市| 伽师县| 太保市| 怀柔区| 新宁县| 赤水市| 青龙|