As3:事件监听器不能与Child一起使用

时间:2014-12-30 15:28:10

标签: actionscript-3 flash events listener

我在这里发布新帖子, 我和Flash专业人士一起制作游戏。我想在舞台上添加一个影片剪辑,从库中添加一个按钮,所以我使用了addChild。好吧,代码可以工作,但事件distendersi不是。 我的代码在这里:

vFsOnM.x = -47, 45;
vFsOnM.y = 119, 5;
vFsOnM.width = 243, 05;
vFsOnM.height = 30, 80;
vFsOffM.x = -47, 45;
vFsOffM.y = 119, 50;
vFsOffM.width = 243, 05;
vFsOffM.height = 30, 80;
addEventListener(Event.ENTER_FRAME, fl_checkFS);

function fl_checkFS(event: Event): void {
    if (vFS == 0) {
        menu.mIn.addChild(vFsOnM);
        if (contains(vFsOffM)) {
            menu.mIn.removeChild(vFsOffM);
        }
    }
    if (vFS == 1) {
        menu.mIn.addChild(vFsOffM);
        if (contains(vFsOnM)) {
            menu.mIn.removeChild(vFsOnM);
        }
    }
}

stage.addEventListener(Event.FULLSCREEN, fl_fsDetectM);

function fl_fsDetectM(event: FullScreenEvent): void {
    if (stage.displayState == StageDisplayState.NORMAL) {
        vFS = 0;
        menu.mIn.addChild(vFsOnM);
        if (contains(vFsOffM)) {
            menu.mIn.removeChild(vFsOffM);
        }
    }
    if (stage.displayState == StageDisplayState.FULL_SCREEN) {
        vFS = 1;
        menu.mIn.addChild(vFsOffM);
        if (contains(vFsOnM)) {
            menu.mIn.removeChild(vFsOnM);
        }
    }
}

menu.mIn.vFsOffM.addEventListener(MouseEvent.CLICK, fl_fsSM);
    function fl_fsSM(event: MouseEvent): void {
        stage.displayState = StageDisplayState.NORMAL;
        vFS = 0;
    }
menu.mIn.vFsOnM.addEventListener(MouseEvent.CLICK, fl_fsAM);
    function fl_fsAM(event: MouseEvent): void {
        stage.displayState = StageDisplayState.FULL_SCREEN;
        vFS = 1;
    }

我希望代码被正确粘贴,因为我正在使用我的平板电脑。 有人能帮我吗?感谢

1 个答案:

答案 0 :(得分:1)

您以不同方式引用您的动画片段:

menu.mIn.vFsOffM

只是

vFsOffM

使用addChild不会将子实例名称作为属性添加到父级。 如果vFsOffM是用于标识对象的实例名称,则无论您将其添加到哪个父级,它都将引用该对象。