青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

積木

No sub title

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks

常用鏈接

留言簿(1)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

轉載自:http://blog.linguofeng.com/archive/2012/09/12/cocos2d-x-touch.html

一、兩種機制的四種不同的事件

CCStandardTouchDelegate 默認事件
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent); 處理按下事件
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent); 處理按下并移動事件
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent); 處理松開事件
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent); 處理打斷事件
CCTargetedTouchDelegate
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); 處理用戶按下事件,true表示繼續處理, 否則false.
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent); 處理按下并移動事件
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); 處理松開事件
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent); 處理打斷事件

兩者的區別: CCSetCCTouch ,一個事件集合一個單個事件。

事件分發的順序: CCTargetedTouchDelegateCCStandardTouchDelegate

默認情況下所有 CCLayer 都沒有啟用觸摸事件,需要 this->setIsTouchEnabled(true); 啟用。

如需更改事件: void registerWithTouchDispatcher(void) {}

class MyLayer: public cocos2d:CCLayer {
public:
    virtual void registerWithTouchDispatcher(void);

    // addStandardDelegate()
    virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
    virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
    virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
    virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);

    // addTargetedDelegate()
    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
    virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
    virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
}

void MyLayer::registerWithTouchDispatcher(void) {
    // 委托,優先級
    CCTouchDispatcher::sharedDispatcher()->addStandardDelegate(this, kCCMenuTouchPriority);
    // 委托,優先級,是否繼續處理
    CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, kCCMenuTouchPriority, true);

    // 2.0版本以后
    CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, kCCMenuHandlerPriority);
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);
}

利用 ccTouchBeganccTouchesBegan 加以實現點擊的回調

void MyLayer::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent) {
    // 單點
    CCTouch *pTouch = (CCTouch*)(pTouches->anyObject());

    // 所有點
    for(CCSetIterator iterTouch = pTouches->begin(); iterTouch != pTouches->end(); iterTouch++) {
        CCTouch *pCurTouch =  (CCTouch*)(*iterTouch);
    }

    // 獲取點在視圖中的坐標(左上角為原點)
    CCPoint touchLocation = pTouch->getLocationInView();
    // 把點的坐標轉換成OpenGL坐標(左下角為原點)
    touchLocation = CCDirector::sharedDirector()->convertToGL(touchLocation);
    // 把OpenGL的坐標轉換成CCLayer的坐標
    CCPoint local = convertToNodeSpace(touchLocation)
    // 大小為100x100,坐標為(0, 0)的矩形
    CCRect * rect = CCRectMake(0, 0, 100, 100);
    // 判斷該坐標是否在rect矩形內
    bool flag = rect.containsPoint(local)
    if(flag) {
        // 回調
    } else {
        // 不執行
    }
}


posted on 2013-03-10 00:28 Jacc.Kim 閱讀(5910) 評論(0)  編輯 收藏 引用 所屬分類: cocos2d
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品区一区| 鲁大师成人一区二区三区| 欧美亚洲一区二区三区| 欧美在线视频免费| 久久精品国产亚洲精品| 在线高清一区| 国产精品v欧美精品v日本精品动漫| 国产一区二区日韩| 久久精品国产99| 欧美成人综合网站| 老司机午夜精品视频在线观看| 久久国产精品高清| 国产区日韩欧美| 国产一区二区精品久久99| 亚洲欧洲精品一区二区精品久久久| 欧美aa国产视频| 国产区欧美区日韩区| 欧美日韩精品一区二区| 欧美黄色精品| 国产在线欧美日韩| 亚洲国产专区校园欧美| 欧美日韩国产免费| 久久久国产一区二区三区| 9l视频自拍蝌蚪9l视频成人| 欧美一区视频在线| 亚洲视频一区在线观看| 久久久久久色| 久久影视三级福利片| 午夜国产精品视频| 久久久久久久久久久久久9999| 国产精品99久久久久久久久久久久 | 国产精品视频精品| 午夜精品国产更新| 欧美精品系列| 夜夜爽av福利精品导航| 欧美国产日本| 男人的天堂成人在线| 欧美怡红院视频| 国产午夜一区二区三区| 亚洲久久一区| 蜜臀久久99精品久久久久久9| 久久视频在线看| 国产精品一区二区久激情瑜伽| 国产模特精品视频久久久久| 亚洲欧洲99久久| 免费在线亚洲| 亚洲日本在线观看| 影音先锋在线一区| 99国产精品久久久| 午夜视频一区在线观看| 欧美视频在线免费| 亚洲一区三区电影在线观看| 一区二区三区蜜桃网| 亚洲成人影音| 欧美mv日韩mv国产网站| 麻豆精品视频在线| 一本色道久久综合亚洲精品不卡| 欧美三级第一页| 欧美在线视频播放| 亚洲伦理在线观看| 亚洲国产综合在线看不卡| 亚洲激情网站| 狼人社综合社区| 一区在线播放| 国产伦精品一区二区三区在线观看| 久久精品成人| 亚洲一二三四久久| 亚洲欧美精品suv| 国产精品私房写真福利视频| 亚洲素人一区二区| 久久视频这里只有精品| 99热精品在线| 亚洲国产一区二区三区高清 | 欧美在线啊v| 亚洲欧美福利一区二区| 欧美片第1页综合| 美女网站久久| 欧美喷潮久久久xxxxx| 欧美日韩在线电影| 99精品视频一区| 国内视频精品| 国产欧美一区二区三区在线看蜜臀| 久久午夜av| 久久国产主播| 久久这里有精品15一区二区三区| 国产欧美韩日| 欧美成年人视频网站| 欧美精品网站| 欧美日韩国产页| 国产精品久久999| 国产亚洲欧美日韩在线一区 | 欧美在线视频一区二区三区| 亚洲国产精品成人va在线观看| 亚洲精品一二区| 99人久久精品视频最新地址| 欧美一区日韩一区| 国产精品久久久久av免费| 久久国产一区二区三区| 一区二区三区欧美日韩| 欧美精品www| 在线一区二区三区做爰视频网站 | 国产亚洲成av人在线观看导航| 国产综合网站| 一道本一区二区| 麻豆精品在线视频| 欧美日韩情趣电影| 国产亚洲福利| 在线日韩电影| 免费欧美日韩国产三级电影| 亚洲乱码久久| 欧美日韩在线观看一区二区三区| 亚洲全部视频| 欧美一区午夜视频在线观看| 国产精品久久久久久久9999| 国产精品久久久久aaaa樱花| 久久久久久亚洲精品杨幂换脸| 老司机久久99久久精品播放免费 | 亚洲综合好骚| 另类专区欧美制服同性| 欧美大片免费观看| 欧美日韩国产探花| 欧美中文字幕在线| 欧美视频在线播放| 91久久精品网| 久久久久成人精品| 久久久久久一区二区| 亚洲精品1234| 亚洲私人影院在线观看| 国产美女精品免费电影| 亚洲欧洲精品一区二区| 在线视频观看日韩| 久久亚洲精品欧美| 国产精品久久福利| 国产日韩一区欧美| 亚洲激情一区二区三区| 国产色产综合产在线视频| 夜夜嗨av一区二区三区四区| 在线欧美日韩精品| 久久精品国产欧美激情| 欧美日韩国产一区精品一区| 亚洲精品欧美| 一本色道久久99精品综合| 欧美激情五月| 亚洲国产中文字幕在线观看| 性欧美1819性猛交| 午夜久久电影网| 欧美精品v日韩精品v韩国精品v | 亚洲电影免费观看高清| 艳妇臀荡乳欲伦亚洲一区| 9l视频自拍蝌蚪9l视频成人| 欧美日韩国产电影| 国产在线精品成人一区二区三区 | 亚洲国产精品www| 国产精品99久久久久久白浆小说 | 欧美日韩少妇| 99在线热播精品免费99热| 亚洲一区亚洲二区| 国产日韩欧美| 久久精品国产精品| 亚洲一区视频在线| 亚洲欧美一区二区三区极速播放| 欧美国产三区| 亚洲乱码国产乱码精品精可以看| 欧美亚洲在线| 亚洲视频图片小说| 欧美国产日本| 久久精品72免费观看| 欧美视频四区| 久久美女艺术照精彩视频福利播放| 欧美二区在线观看| 午夜在线观看欧美| 日韩手机在线导航| 国产女精品视频网站免费| 久久久久国产成人精品亚洲午夜| 亚洲精品久久久蜜桃| 欧美精品久久久久久| 亚洲国产一区二区精品专区| 欧美一区1区三区3区公司| 在线观看国产日韩| 亚洲国产成人久久综合| 国产一区二区三区四区在线观看| 欧美午夜欧美| 国产女精品视频网站免费| 亚洲网站在线观看| 欧美成人高清| 欧美成人精品高清在线播放| 久久亚洲影院| 麻豆国产精品va在线观看不卡| 国产精品99久久久久久久女警| 中文一区字幕| 欧美一区二区福利在线| 国产三区精品| 亚洲国产一区二区三区青草影视| 亚洲国产精品va在线观看黑人| 一本久久青青| 乱人伦精品视频在线观看| 欧美韩日高清| 日韩视频在线一区二区三区| 亚洲在线中文字幕| 国产色综合天天综合网|