例如,我有一个电影剪辑的层次结构。 mc1是mc的孩子,mc2是mc1的孩子。 原来,当我设置DisplayObject的可见属性
mc1.visible = false;
mc2.visible保持真实。
这是否应该发生? 有测试mc2可见性的捷径吗?
守则玩:
var mc = new Sprite();
mc.graphics.beginFill(0xFF0000);
mc.graphics.moveTo(50,50);
mc.graphics.lineTo(100,50);
mc.graphics.lineTo(100,100);
mc.graphics.lineTo(50,100);
mc.graphics.endFill();
var mc1 = new Sprite();
mc1.graphics.beginFill(0x00ff00);
mc1.graphics.moveTo(150,150);
mc1.graphics.lineTo(200,150);
mc1.graphics.lineTo(200,200);
mc1.graphics.lineTo(150,200);
mc1.graphics.endFill();
mc.addChild(mc1);
var mc2= new Sprite();
mc2.graphics.beginFill(0x0000ff);
mc2.graphics.moveTo(250,150);
mc2.graphics.lineTo(200,150);
mc2.graphics.lineTo(200,200);
mc2.graphics.lineTo(250,200);
mc2.graphics.endFill();
mc1.addChild(mc2);
stage.addChild(mc);
mc1.visible = false;
function myOnEnterFrame(e){
trace(mc2.hitTestPoint(mouseX, mouseY));
}
stage.addEventListener(Event.ENTER_FRAME, myOnEnterFrame);
结果: mc2.visible仍然是真实的。 hitTest仍然会为mc2发射。
是否有任何其他方式在舞台上测试mc2的存在,除了迭代父母?
只是一个小不相关的注意事项:退房graphics.drawRect(X,Y,W,H )方法;) – Cay 2009-11-09 03:15:27
是的,专注于一件事情让我忽略了明显=) – clorz 2010-08-27 22:31:12