<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [?李華明Himi?](http://www.himigame.com/about-himi)原創,轉載務必在明顯處注明: 轉載自[【黑米GameDev街區】](http://www.himigame.com/)?原文鏈接:?[http://www.himigame.com/iphone-cocos2d/453.html](http://www.himigame.com/iphone-cocos2d/453.html "【iOS-Cocos2d游戲開發之六】對觸屏事件追加講解,解決無法觸發ccTouchMoved事件[重要!]")> [](http://blog.csdn.net/xiaominghimi/article/details/6671077) 上一章節中介紹了,如何利用兩種方式對用戶觸屏進行監聽,那么今天要重點講解一個問題; 要講的問題主要是在使用注冊監聽(事件分配方式監聽觸屏)中的問題,上一章節中說過,此種方式首先要注冊:如下代碼: ~~~ //注冊獨立觸摸事件 [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; ~~~ 那么如果多個注冊監聽的話,可以根據優先級(priority)參數進行設置,此參數的值越大,優先級越低,假設有XX與YY注冊了監聽,如果XX優先級>YY的話,那么首先會進入XX的監聽函數; 使用上面的方式進行監聽的話,會進行監聽以下這幾個事件: ~~~ - (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event { return NO; } - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event { } - (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event { } ~~~ 如果XX中的ccTouchBegan函數中返回Yes的話,就不會響應其他監聽的(YY)中重寫的監聽函數;這個上一章節中介紹過;但是要說的也正是這里,如果你想要XX與YY都監聽事件,那么兩個都可以在ccTouchBegan中返回NO,但是如果你想在處理YY或者XX中的ccTouchMoved移動事件函數中的話,你會發現XX與YY都不會響應其函數,原因是,當你retrun NO;的時候雖然執行了ccTouchBegan與return之間的代碼,但是你return NO其實就是告訴cocos2d放棄此次事件處理,讓cocos2d繼續將觸屏事件分配給其他注冊過的類去處理監聽,直到結束或者cocos2d獲取到return true為止; 那么解決的方案:比如你想監聽YY類中的ccTouchMoved事件,那么為了不影響XX中的監聽ccTouchBegan事件,你應該讓XX類在注冊監聽的時候讓其優先級調整高于YY類,并且XX類中ccTouchBegan函數return NO,那么當用戶觸屏后,首先進入XX類中處理事件,然后會(因為XX類return NO)進入YY類,那么在YY類的ccTouchBegan函數中因為return YES;這樣cocos2d就能響應ccTouchMoved函數了; 如果說你想讓XX與YY類都響應ccTouchMoved函數,至少我利用此種事件分配的方式無法實現,不知道是不是cocos2d的1.0版本遺留的BUG還是其他原因,今天遇到所以拿出來跟大家分享; OK,該睡覺了,晚安大家~ ~~~~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看