Привет всем, моя проблема сегодня состоит в том, что у меня есть пара кнопок, которые скользят вверх и вниз, когда в состоянии вверх я добавляю X-изображение, чтобы символизировать кнопку закрытия. Однако X-изображение, кажется, блокирует мое действие кнопки.
(источник: flickr.com )
У меня есть пример в фильме Я работал над >> здесь << </strong>.
Здесь есть 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 в главном примере, чтобы закрыть вкладку, но вы можете сделать это в моем небольшом простом фильме? Мысли, идеи?