COCOS2DX中关于labelTTF控件获取不到触摸点的解决办法
2014-08-09 10:17
686 查看
本意是想在点击文本标签之后执行一个场景的切换或者说是一个动作,但是发现,在监听器的闭包函数中,只用传进label变量
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [label](Touch *t, Event *e)
{
if(label->getBoundingBox().containsPoint((t->getLocation())))
{
label->runAction(MoveTo::create(1,Point(100,100)));
}
return false;
};
这样来写是不能够获取到判断你的触摸点是不是在空间范围内的。
第一种解决方式,把空间或者TextFiledTTF,这样就不会出现这个问题,好像也是3.1的一个bug。
第二种解决方式,要进行一下坐标转换,具体原理我还不清楚,但是暂时知道怎么处理。
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [label](Touch *t, Event *e)
{
if(label->getBoundingBox().containsPoint(e->getCurrentTarget()->convertToNodeSpace(t->getLocation())))
{
label->runAction(MoveTo::create(1,Point(100,100)));
}
return false;
};
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [label](Touch *t, Event *e)
{
if(label->getBoundingBox().containsPoint((t->getLocation())))
{
label->runAction(MoveTo::create(1,Point(100,100)));
}
return false;
};
这样来写是不能够获取到判断你的触摸点是不是在空间范围内的。
第一种解决方式,把空间或者TextFiledTTF,这样就不会出现这个问题,好像也是3.1的一个bug。
第二种解决方式,要进行一下坐标转换,具体原理我还不清楚,但是暂时知道怎么处理。
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [label](Touch *t, Event *e)
{
if(label->getBoundingBox().containsPoint(e->getCurrentTarget()->convertToNodeSpace(t->getLocation())))
{
label->runAction(MoveTo::create(1,Point(100,100)));
}
return false;
};
相关文章推荐
- 关于adb命令获取安卓手机uuid时,demon 显示启动成功,但又获取不到uuid的解决办法:现象如下所示
- UpdatePanel中FileUpload控件获取不到值的解决办法
- GridView、Repeater等数据源控件发现获取不到下面的控件ID的秒杀解决办法
- Android 获取不到控件位置信息的解决办法
- 关于jquery动态改变css样式后,对象获取不到的解决办法
- 关于form表单提交文件file后台controller中参数获取不到的解决办法
- 关于用reader获取不到输出参数的解决办法
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
- 关于fontawesome-webfont93e3.ttf加载不到的解决办法
- 关于在android onCreate()中不能获取控件宽度、大小等的解决办法
- updatepanel 与 fileupload控件不能一起用?获取不到值(解决办法)
- 关于嵌入文本框设置只读后,后台获取不到值--解决办法
- 【转】在ashx页面中context.Session["xxx"]获取不到值的解决办法
- 关于VS05里checkboxlist用JS获取不到value值的解决方法(处女随笔)
- 关于取不到由location.href提交而来的上级页面地址的解决办法
- 关于c#窗体控件突然消失的解决办法
- 关于AjaxControlToolkit的Accordion控件在vs2008下报错的问题及解决办法
- [转载]关于VS05里checkboxlist用JS获取不到value值的解决方法
- 关于动态创建控件,第二次赋值不能显示解决办法
- 关于AjaxControlToolkit的Accordion控件在vs2008下报错的问题及解决办法