Flash CS6 — состояния кнопки «Нажато/Нажато»

У меня есть кнопка в состоянии «вверху», и когда мышь находится над кнопкой, она должна стать намного больше в состоянии «поверх». Итак, кнопка в состоянии «над» в 3 раза больше, чем кнопка в состоянии «вверх».

Однако проблема заключается в том, что кнопка верхнего состояния срабатывает до того, как моя мышь коснется кнопки верхнего состояния. Я хочу, чтобы кнопка становилась больше ПОСЛЕ того, как мышь находится на кнопке состояния вверх.

Я понял, что кнопка over state срабатывает рано, потому что моя мышь касается области, где она должна быть, даже если она не видна.

Таким образом, если я перемещаю мышь вокруг кнопки в верхнем состоянии, не касаясь ее, она все равно становится больше, потому что моя мышь касается области кнопки в верхнем состоянии.

Как мне исправить это, чтобы кнопка состояния не срабатывала, пока моя мышь не окажется на кнопке состояния вверх?


person Leon    schedule 02.08.2013    source источник
comment
Вы сделали элемент кнопки? или вы кодируете это?   -  person Enigmadan    schedule 03.08.2013
comment
Я отредактировал этот вопрос, чтобы удалить тег AS3, поскольку он не касается AS3 (языка сценариев).   -  person Enigmadan    schedule 04.08.2013


Ответы (2)


Если вы сделали кнопку символом:

Если вы отредактируете символ кнопки, вы увидите четыре именованных кадра на временной шкале:

  1. Up

    Состояние, в котором находится ваша кнопка, когда не происходит никаких действий с мышью.
    (Состояние вашей маленькой кнопки.)

  2. Над

    Состояние, в котором находится ваша кнопка при наведении курсора мыши.
    (Состояние вашей большой кнопки.)

  3. Вниз

    Состояние, в котором находится ваша кнопка при щелчке мыши.

  4. Ударил

    Область, которая будет принимать эти события мыши (щелчок, наведение).
    Эта область представляет собой место, где человек может перемещать мышь, чтобы активировать вашу кнопку. Вы можете сделать его любой формой (или комбинацией форм), но обычно это то же самое, что и видимое состояние вашей кнопки.

Если вы скопируете ключевой кадр в состоянии «вверх» в кадр с пометкой «попадание», ваша кнопка будет реагировать только при наведении курсора на эту область.


Если вы создали кнопку с помощью AS3:

Ваш hitTestState должен быть того же размера, что и ваш upState.
Один из простых способов сделать это:

buttonName.hitTestState = buttonName.upState;
person Enigmadan    schedule 02.08.2013
comment
Спасибо! Я расширил состояние up до состояния hit, и это все исправило. Состояние наведения больше не срабатывает до тех пор, пока мышь не окажется над состоянием наведения. - person Leon; 03.08.2013

Вам нужно скорректировать зону поражения

person The_asMan    schedule 02.08.2013
comment
Можете ли вы добавить более подробную информацию о том, что вы имеете в виду? Этот ответ неясен, как написано. - person G Gordon Worley III; 03.08.2013
comment
Извините, я не могу, потому что вы не объяснили метод создания кнопки. Тем не менее, я бы посоветовал прочитать о создании кнопок Flash здесь helpx.adobe.com/ flash/using/creating-buttons.html - person The_asMan; 03.08.2013
comment
Кнопка была только что создана с использованием Flash в качестве символа. Однако предложение Enigmadan исправило это. Если вы скопируете ключевой кадр в состоянии «вверх» в кадр с пометкой «попадание», ваша кнопка будет реагировать только при наведении курсора на эту область. - person Leon; 03.08.2013