第1步:創(chuàng)建一個觸摸監(jiān)聽器
auto listener = EventListenerTouchOneByOne::create();
創(chuàng)建一個單點(diǎn)觸碰監(jiān)聽器
第2步:配置觸摸監(jiān)聽器的屬性
listener->setSwallowTouches(true);
設(shè)置監(jiān)聽是否吞并事件
listener->onTouchBegan = CC_CALLBACK_2(MyUIDrama::TouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(MyUIDrama::TouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(MyUIDrama::TouchesEnded, this);
設(shè)置監(jiān)聽器的回調(diào)函數(shù),其中:
- onTouchBegan:觸碰按下時的回調(diào)
- onTouchMoved:觸碰移動時的回調(diào)
- onTouchEnded:觸碰彈起時的回調(diào)
第3步:添加觸摸監(jiān)聽器
添加觸摸監(jiān)聽器有兩種方法
- 方法1:addEventListenerWithFixedPriority
Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, 1);
addEventListenerWithFixedPriority有兩個參數(shù):
參數(shù)1:Listenter 監(jiān)聽器
參數(shù)2:fixedPriority 固定優(yōu)先級燎窘,其中0是系統(tǒng)占有递递,不能設(shè)置為0
- 方法2:addEventListenerWithSceneGraphPriority
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
addEventListenerWithSceneGraphPriority有兩個參數(shù):
參數(shù)1:Listenter 監(jiān)聽器
參數(shù)2:node 根據(jù)node來確定監(jiān)聽器的優(yōu)先級
簡單來說兩種方法的區(qū)別就是一個是自己手動指定Listenter的優(yōu)先級客税,一個是根據(jù)node來決定锣尉。