例如,我有一個電影剪輯的層次結構。 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