layer是不是只要创建出来就能收到touchevent?即使没显示?

更新:cc.eventManager.pauseTarget对layer操作仍然没反应,我猜可能是我的layer其实是不响应touch event的 而是layer里的sprite才响应导致的?

我已经花了半天时间在测试layer和layer里面sprinte还有eventManager的行为方式了,这部分是不是有bug?

我的问题表现就是有4个layer的instance,每个layer都由同一个layer的类来实例化。每个layer里都有n个sprite,每个sprite的instance都由同一个sprite的类来实例化,而sprite类里对eventManager做处理。

目的就是在我的4个layer交替显示的时候,每个layer里的sprite都能在显式的时候接收到touch event。

可是真正用起来的时候就出问题了。

我试过两种方法,一种是自己维护一个layer的对象数组,然后自己管理显示和不显示(用addchild和removechild);另一种方法就是用cc.LayerMultiplex。
可是问题还是一样的。

问题就是切换显示都是没问题的,但是只要我的layer一被new出来就可以接收touch event了。

请问,是我用的不对吗?怎么破?
另:我找到了一个cc.eventManager.pauseTarget方法,请问是不是每次自己layerMultiplex.switchTo(idx);的时候还要手动调用这个pause方法?但是这样的话还是很奇怪,为啥不显式的layer也能接受touch消息?

谢谢

我也发现了.
设置setVisible(false) 还是可以触发EventListener
目前只能手动 pause / resume 了.

太难得了 在这碰到能回复的就已经很幸福了 竟然碰到兄弟这样和我碰到同样问题的了
five!

看来咱们仍然是头几批来填坑的义务tester
常联系 抱团取暖吧 哈哈

哈哈, 我用v3.1 感觉已经很不错了.坑已经很少了.
现在的坑全是cocostuduio2.0的坑.

自己来回答一下自己的问题
目前看来是需要自己调用cc.eventManager.pauseTarget的
另外 target的对象类里的eventmanager和listener必须在onenter和onexit里new出来不能在ctor里
具体参考test那个sample就好了
一个小坑