auto label = LabelTTF::create("click me!","Courier",30); label->setPosition(visibleSize.width/2,visibleSize.height/2); addChild(label); auto listener = EventListenerTouchOneByOne::create(); //创建监听器 listener->onTouchBegan = [](Touch *touch,Event *event){ //设置监听函数 if(event->getCurrentTarget()->getBoundingBox().containsPoint(touch->getLocation())){ //判断点击范围是在label上 log("onTouched!!!!!!!!!!!!"); } return true; //返回true才能出发事件传递 }; //事件传递 listener->onTouchMoved = [](Touch* touch,Event *event){ //拖动事件 onTouchEnded = 触摸弹起事件 log("onTouchmoved!"); return true;//返回 true 才可以继续传递事件 }; Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,label); //绑定监听事件 */ //多点触摸监听器****************************************** /*auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesBegan = [](std::vector<Touch*> t,Event *event){ //单击事件 log("onTouchesBegan"); }; listener->onTouchesMoved = [](std::vector<Touch*> t,Event *event){ //多点同时触摸事件 log("touches moved,and touch count is%ld",t.size()); }; Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this); */ /**************************** 传感器 *****************************************/ /*Device::setAccelerometerEnabled(true);//打开传感器侦听 传感器=重力感应? auto listener = EventListenerAcceleration::create([](Acceleration *a,Event *event){ log("x:%g,y:%g,z:%g",a->x,a->y,a->z); }); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);*/ /************************** 按键监听 ************************************/ /*auto listener = EventListenerKeyboard::create(); listener->onKeyReleased = [](EventKeyboard::KeyCode code,Event *venet){ //监听按键事件 log("key:%d",code); switch(code){ case EventKeyboard::KeyCode::KEY_BACKSPACE: //如果是后退键 Director::getInstance()->end(); //退出当前程序 break; } }; Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。