cocos2d-x 3.x中Layer层触摸事件

前端之家收集整理的这篇文章主要介绍了cocos2d-x 3.x中Layer层触摸事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


简单实现监听layer(this)的3个触摸事件。


  1. ///触摸事件的处理
  2.  
  3. this->setTouchEnabled(true);
  4. auto dispatcher = Director::getInstance()->getEventDispatcher();
  5. auto listener = EventListenerTouchOneByOne::create();
  6.  
  7. listener->onTouchBegan = [](Touch* touch,Event* event){
  8. CCLOG("touch began");
  9. return true;//一定要返回true ,否则后面的事件会监听不到
  10. };
  11. listener->onTouchMoved = [](Touch* touch,Event* event){
  12. CCLOG("touch moved");
  13. Vec2 v = touch->getLocation();
  14. CCLOG("%f %f",v.x,v.y);
  15.  
  16. };
  17. listener->onTouchEnded = [=](Touch* touch,Event* event){
  18. CCLOG("touch ended");
  19. };
  20. listener->setSwallowTouches(true);//不向下传递触摸
  21. dispatcher->addEventListenerWithSceneGraPHPriority(listener,this);

猜你在找的Cocos2d-x相关文章