Например, у меня есть иерархия видеоклипов. 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 (х, у, ш, ч) метод;) – Cay
Да, сосредоточиться на одной вещи заставляет меня игнорировать очевидное =) – clorz