3.3final 与 cocostudio 控件触摸的问题

我手写的一个layer,加在cocostudio生成界面上面,用setTouchSwallowEnable想禁止穿透触摸,没有效果还是能点击到下面的按钮。如何解决这个问题呢?

setTouchSwallowEnable(true)
setTouchEnable(true)
两个都要打开

似乎都打开了 无法吃掉底下 cocostudio 的触摸

我也遇到这个问题了啊,ccs的ui总是会先监听到触摸事件啊

放弃了 遇到触摸都用自己写的按钮加到对应的csb上 你解决了吗

不支持两种机制混用

我是封装了一个Widget,将其触摸分发到子Node的quick触摸上来解决这个问题的

具体是怎么操作的呢,能稍微清楚的讲一下吗

你使用的 cocostudio 什么版本

2.0.6 能加个Q吗 这样比较繁琐

请问具体是怎么做的呢?是直接手动调用NodeEx.EventDispatcher吗?分发的逻辑要把所有的阶段都实现吗?像什么“targeting“之类的

好吧,我搞定了。重新分发一下就好……

请问下,你LAYER是怎么监听到的,我一直监听不到呢~~

求指教 能加Q吗

我把代码贴到Github上了,直接用这个类,调用adapt方法,第一个参数是要兼容的触摸对象,第二个参数是是否拦截所有的触摸事件(是否模态)。我只是简单的分发了一下targeting阶段的began,moved,ended触摸事件。如果要使用其他的事件可以自己添加。
还有就是写的不是特别细致有些报错提示,这个你自己改一下就好,不会崩溃不影响使用。

https://gist.github.com/coldfog/0701fb808bd7d65902e3

— Begin quote from ____

引用第14楼coldfog于2015-03-06 14:19发表的 回 13楼(changzhouhaiwei) 的帖子 :
我把代码贴到Github上了,直接用这个类,调用adapt方法,第一个参数是要兼容的触摸对象,第二个参数是是否拦截所有的触摸事件(是否模态)。我只是简单的分发了一下targeting阶段的began,moved,ended触摸事件。如果要使用其他的事件可以自己添加。
还有就是写的不是特别细致有些报错提示,这个你自己改一下就好,不会崩溃不影响使用。

https://gist.github.com/coldfog/0701fb808bd7d65902e3 http://www.cocoachina.com/bbs/job.php?action=topost&tid=282631&pid=1252622

— End quote

MixTouchAdapter.adapt(startLayer,true) 这个用上去连自己的界面按钮也无法点击了,MixTouchAdapter.adapt(startLayer,false)无法达到模态的效果。

反了,true是模态,false不是模态。按钮不能点不就模态了嘛。