quick cocos2dx 2.2.5Plus中无解的问题
quick cocos2dx中使用cocostudio布局,然后再使用了其中的UIScrollView,在UIScrollView中又有按钮的话,杯具就会发生了。 现象: 当uiScrollView中的Item超过可视范围以后,被裁剪掉的部分的button是可以被点击的,而且绑定按钮的接口 obj:addTouchEventListener(function(_sender,_event) if _event == TOUCH_EVENT_ENDED then print("touched close") end return false end) 这个接口中无法取到pTouch的任何信息,所在无论如何也不能对这个控件进行判定是否在scrollview外面 从quick的touch体系来看,这个item肯定是scrollview的child,因此touch首先会被它响应, widget的touch好像是当某个obj响应以后,就中断了,不再继续往传给父结点。 因此这个问题用ccs的控件本身是无法判定的,另外,对于ccs而已的控件,要判定是否在父控件也是比较麻烦的。 因此添加的时候的位置取出来永远都是那个位置。 如:将item1添加在0,100位置,则取出来永远都是这个位置,无论它滚到了哪里.
若原来的css布局不变,只换ui.ListView来进行替换,则可以判断按钮是否在ListView外面,但是问题是这个ListView的层次必须在原来的ccs 布局的最顶层,若不是最后添加这个控件,则它又会被其他的控件盖住,这个时候无论是否对widget控件设置吞噬触摸。都不管用。 setTouchSwallowEnabled(false) 触摸依然被上导的ccs控件吞噬。 若将ListView放在最顶层,则原来的ccs层的touch事件又会被它给盖住(设计分辨率下尚可), 一旦分辨率变了,原来的触摸区域却不会变化, 最终结果就是要么ccs遮住ListView,要么ListView遮住ccs,不能和谐的共存,因此在设计的时候最好把顶层和最下面的滑动超出屏幕,暂时没有别的办法。 不晓得3.X有没有解决这个问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 在ASP.net应用程序中使用Informix查询中的命名参数
- jQuery.getJSON的缓存问题的解决办法
- c# – Console.Read被忽略
- ios – 使用元类型值构造类类型为“ClassName”的对象必须使
- xml文件的序列化
- iphone – 如何在Xcode中安装证书(准备提交应用商店)
- c – Qt MainWindow CloseEvent Mac Cmd Q.
- ios – 如何修复错误ITMS-90032:“无效的图像路径 – 在”
- Cocos2d-x游戏开发学习笔记1--在Cocos2d中显示图像
- ruby-on-rails – Ruby on Rails – 如何更改页面顶部显示的