大家好,我今天的问题是我有几个可以上下滑动的按钮,当处于向上状态时,我添加了一个 X 图形来象征一个关闭按钮。但是 X 图形似乎阻止了我的按钮操作。
(来源: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 关闭选项卡,但您可以在我的小基本电影中?想法,想法?