lufy's legend

标题: 关于LSprite图层叠加之后的事件问题? [打印本页]

作者: Ramsey    时间: 2014-8-19 18:50
标题: 关于LSprite图层叠加之后的事件问题?
请教下,为什么图层在叠加后,在子图层定义的事件无法触发。需要调整事件的优先级吗?还是什么的情况?
var layer1 = new LSprite();
var layer2 = new LSprite();
layer2.addEventListener(LMouseEvent.MOUSE_DOWN,function(event){                alert("1111111111111111111");
        });       
layer.addChild(layer);
addChild(layer);

在点击layer2图层之后,没有触发事件。老大是哪里出了纰漏?

作者: Ramsey    时间: 2014-8-19 19:04
这个需要父容器也定义相应的事件,进行事件的传递。这样的传递到第三层还可以吗?
作者: yorhomwang    时间: 2014-8-19 21:02
Ramsey 发表于 2014-8-19 19:04
这个需要父容器也定义相应的事件,进行事件的传递。这样的传递到第三层还可以吗? ...

明显有问题啊,怎么会是layer.addChild(layer)
作者: Ramsey    时间: 2014-8-19 22:11
yorhomwang 发表于 2014-8-19 21:02
明显有问题啊,怎么会是layer.addChild(layer)

笔误了,但是三层以上的图层嵌套怎么事件怎么传播
作者: Ramsey    时间: 2014-8-19 22:15
请教下,为什么图层在叠加后,在子图层定义的事件无法触发。需要调整事件的优先级吗?还是什么的情况?
var layer1 = new LSprite();
var layer2 = new LSprite();
var layer3 =new LSprite();
layer1.addEventListener(LMouseEvent.MOUSE_DOWN,function(event){                alert("1111111111111111111");
        });        
layer2.addEventListener(LMouseEvent.MOUSE_DOWN,function(event){                alert("22222222222222");
        });   
layer3.addEventListener(LMouseEvent.MOUSE_DOWN,function(event){                alert("333333333333");
        });   
layer2.addChild(layer3);
layer1.addChild(layer2);
addChild(layer1);
这里是按照我源码的形式,转变而来。
在三个图层重叠部分点击,只有传递到了layer2,并没有到达layer。这里是不是需要定义事件的级别
作者: lufy    时间: 2014-8-20 09:27
Ramsey 发表于 2014-8-19 22:15
请教下,为什么图层在叠加后,在子图层定义的事件无法触发。需要调整事件的优先级吗?还是什么的情况?
var ...

对照demo看自己哪里写错了吧
http://lufylegend.com/demo/test/49.html
作者: Ramsey    时间: 2014-8-20 09:42
lufy 发表于 2014-8-20 09:27
对照demo看自己哪里写错了吧
http://lufylegend.com/demo/test/49.html

我在layer2中加入了20个左右的layer3图层,但是点击layer3区域事件没有执行
作者: Ramsey    时间: 2014-8-20 10:01
重新做了小例子发现是可以的,但是一时间又找不出自己那个地方写错了
作者: Ramsey    时间: 2014-8-20 10:05
lufy 发表于 2014-8-20 09:27
对照demo看自己哪里写错了吧
http://lufylegend.com/demo/test/49.html

谢谢,lufy!是我的代码段里,switch语句的括号位置有问题,坑啊,昨天忙活了半天。




欢迎光临 lufy's legend (http://lufylegend.com/forum/) Powered by Discuz! X2.5