cocos2dx自学之 事件监听

前端之家收集整理的这篇文章主要介绍了cocos2dx自学之 事件监听前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. auto label = LabelTTF::create("click me!","Courier",30);
  2. label->setPosition(visibleSize.width/2,visibleSize.height/2);
  3.  
  4. addChild(label);
  5. auto listener = EventListenerTouchOneByOne::create(); //创建监听器
  6. listener->onTouchBegan = [](Touch *touch,Event *event){ //设置监听函数
  7. if(event->getCurrentTarget()->getBoundingBox().containsPoint(touch->getLocation())){ //判断点击范围是在label上
  8. log("onTouched!!!!!!!!!!!!");
  9.  
  10. }
  11. return true; //返回true才能出发事件传递
  12. };
  13.  
  14. //事件传递
  15. listener->onTouchMoved = [](Touch* touch,Event *event){ //拖动事件 onTouchEnded = 触摸弹起事件
  16. log("onTouchmoved!");
  17. return true;//返回 true 才可以继续传递事件
  18. };
  19.  
  20. Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraPHPriority(listener,label); //绑定监听事件 */
  21. //多点触摸监听器******************************************
  22. /*auto listener = EventListenerTouchAllAtOnce::create();
  23. listener->onTouchesBegan = [](std::vector<Touch*> t,Event *event){ //单击事件
  24. log("onTouchesBegan");
  25. };
  26. listener->onTouchesMoved = [](std::vector<Touch*> t,Event *event){ //多点同时触摸事件
  27. log("touches moved,and touch count is%ld",t.size());
  28. };
  29. Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraPHPriority(listener,this); */
  30.  
  31.  
  32. /**************************** 传感器 *****************************************/
  33. /*Device::setAccelerometerEnabled(true);//打开传感器侦听 传感器=重力感应?
  34. auto listener = EventListenerAcceleration::create([](Acceleration *a,Event *event){
  35. log("x:%g,y:%g,z:%g",a->x,a->y,a->z);
  36. });
  37. Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraPHPriority(listener,this);*/
  38.  
  39. /************************** 按键监听 ************************************/
  40. /*auto listener = EventListenerKeyboard::create();
  41. listener->onKeyReleased = [](EventKeyboard::KeyCode code,Event *venet){ //监听按键事件
  42. log("key:%d",code);
  43. switch(code){
  44. case EventKeyboard::KeyCode::KEY_BACKSPACE: //如果是后退键
  45. Director::getInstance()->end(); //退出当前程序
  46. break;
  47. }
  48. };
  49.  
  50. Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraPHPriority(listener,this);

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