【发布时间】:2009-11-06 00:08:26
【问题描述】:
例如,我有一个影片剪辑层次结构。 mc1 是 mc 的孩子,mc2 是 mc1 的孩子。 原来,当我设置时
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) 方法;)
-
是的,专注于一件事让我忽略了显而易见的 =)
标签: flash actionscript-3