码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2d-x-3.x 触摸反馈(3)事件传递

时间:2015-12-08 00:05:28      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

一个单点触摸事件的完整流程。

 1 bool HelloWorld::init()
 2 {
 3     if ( !Layer::init()) 
 4     {
 5         return false;
 6     }
 7     Size size = Director::getInstance()->getVisibleSize();    //获取有效长度
 8     auto label = LabelTTF::create("Click me", "Courier", 30);    //输入文字
 9     label->setPosition(size.width / 2, size.height / 2);    //中央
10     addChild(label);    //加入图层
11     auto listener = EventListenerTouchOneByOne::create();    //创建事件监听器,C++11的特性
12     listener->onTouchBegan = [](Touch *t, Event *e){    //捕获变量
13         
14         if (e->getCurrentTarget()->getBoundingBox().containsPoint(t->getLocation())){//获取事件目标,获取边界区域,获取触摸点
15             log("onTouchBegan");    //反馈输出
16         }
17         return true;    //注意这里改了,如果为false以下的两个事件不会触发
18     };
19     listener->onTouchMoved = [](Touch* t, Event *e){//新建监听,移动触发
20         log("onTouchMoved");
21     };
22     listener->onTouchEnded = [](Touch* t, Event *e){ //新建监听,触摸结束触发
23         log("onTouchEnd");
24     };
25         Director::getInstance()->getEventDispatcher()->
26         addEventListenerWithSceneGraphPriority(listener, label);
27     return true;
28 }

这个的运行效果就是,点击目标输出begin,抬起鼠标输出end,在屏幕上上滑动出现一连串的moved。

基本上一套小完整的单点触摸反馈机制。

cocos2d-x-3.x 触摸反馈(3)事件传递

标签:

原文地址:http://www.cnblogs.com/aprillie/p/5027783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!