大家好今天我的问题是我有一对夫妇的上下滑动的按钮,当了状态我加一个X的图形象征着一个关闭按钮。然而,X图形似乎是阻断我的按钮操作。

“ALT文本” 结果 <子>(来源: flickr.com

我在电影中的例子我一直工作在这里>> << 。 有2部电影在这里,大的一个,如果您单击蓝色标签,你会明白我在说什么,X按钮显示出来,但点击了X区域不会落下的按钮。你必须点击蓝色按钮区域将按钮拖放回落。

现在我做了一个小测试影片基本上添加的X按钮以同样的方式,如果(即使你单击该X图形动画会在右边),你会发现它正常工作

这是我在大电影代码(我躲在吐温代码,以便它不会那么长):

function handleButtonClick(event:MouseEvent):void {
var button:MovieClip=event.target as MovieClip;
var id:Number=Number(button.name.split("button")[1]);

dispatchEvent(new CustomEvent(CustomEvent.PAUSE_MOVIE, {}));

if (! $btn1&&! $btn2) {
    if (storeButton2==buttons[id]) {
        closeTabX.x = buttons[1].width - (closeTabX.width + 10);
        closeTabX.y=buttons[1].height/2-15;
        buttons[1].addChild(closeTabX); // X added here
        $btn2=true;
        $btn1=false;
    } else if (storeButton1 == buttons[id]) {
        closeTabX.x = buttons[0].width - (closeTabX.width + 10);
        closeTabX.y=buttons[0].height/2-15;
        buttons[0].addChild(closeTabX); // X added here
        $btn1=true;
        $btn2=false;
    }
} else if ($btn1 && !$btn2) {
    if (storeButton2==buttons[id]) {
        buttons[0].removeChild(closeTabX); // X removed here
        buttons[1].addChild(closeTabX); // X added here
        $btn2=true;
        $btn1=false;
    } else if (storeButton1 == buttons[id]) {
        buttons[0].removeChild(closeTabX); // X removed here
        $btn1=false;
    }
} else if ($btn2 && !$btn1) {
    if (storeButton2==buttons[id]) {
        buttons[1].removeChild(closeTabX);
        $btn2=false;
    } else if (storeButton1 == buttons[id]) {
        buttons[1].removeChild(closeTabX); // X removed here
        buttons[0].addChild(closeTabX); // X added here
        $btn1=true;
        $btn2=false;
    }
}

}

现在,这里是我的基本测试影片的代码:

var blueButton:MovieClip;
var closeBtnX:MovieClip;

blueButton = new BlueButton;
blueButton.buttonMode = true;

closeBtnX = new CloseTabX;
closeBtnX.x = blueButton.width/2 - closeBtnX.width;

addChild(blueButton);


blueButton.addEventListener(MouseEvent.MOUSE_UP, specialClick);

function specialClick(event:MouseEvent):void
{
  blueButton.addChild(closeBtnX); // X added here
  blueButton.x = blueButton.x+10;
}

我不明白你为什么可以在X中的主要例子不点击关闭的标签页,但你可以在我的小电影基本?思想,想法?

有帮助吗?

解决方案

您没有张贴如何你在第一个例子中实例化“closeTabX”,是同一类的小例子(CloseTabX)?

一个简单“修复”是,如果你设置它的性质如下它将不会阻碍鼠标事件到它的父:

closeTabX.mouseEnabled = false;
closeTabX.mouseChildren = false;

如果该类被从未打算是鼠标目标,可以还设置在类的构造这些性质,以防止任何类实例从阻塞鼠标事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top