Как скрыть кнопку после нажатия другой кнопки во Flash? - PullRequest
1 голос
/ 18 мая 2011

Я использую ActionScript 3, чтобы выделить игру и щелкнуть мышью.На кадре 1 есть две кнопки, кнопки 1 и 2. На кадре 3 есть две кнопки, кнопки A и B.

Я хочу, чтобы после нажатия кнопки 1 на кадре 1 кнопка A на кадре3 будет скрыта, или когда я нажму кнопку 2 в кадре 1, кнопка B в кадре 3 будет скрыта.Скрытые кнопки ничего не делают, когда вы их нажимаете.

заранее спасибо

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

Если вы попытаетесь удалить что-то, чего еще нет в списке отображения, Flash выдаст ошибку. Я думаю, что лучшее решение здесь - это установка переменной шкалы времени, чтобы отслеживать, какую кнопку вы нажали. Примерно так:

в кадре 1

var b1:Boolean = false;
var b2:Boolean = false;

button1.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);
button2.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);

function checkButton(e:MouseEvent):void
{
   if(e.target.name == button1) b1 = true;
   else b2 = true;

   gotoAndPlay(3);
}

в кадре 3

myButtomA.visible = false;
myButtomB.visible = false;   

if (b1) myButtomA.visible = true;
if (b2) myButtomB.visible = true;
1 голос
/ 18 мая 2011

Существует множество способов удалить объект из списка отображения или скрыть его другим способом. Например:

button1.addEventListener(MouseEvent.MOUSE_DOWN, removeButton);

function removeButton(e:MouseEvent):void
{
 buttonContainer.removeChild(otherButton);
}

Вы также можете установить для свойства целевых кнопок "видимость" значение false. Очень очень просто, и вы сможете изменить этот фрагмент по мере необходимости.

По другой теме.

Я всегда призываю людей отказаться от развития взаимодействий на временной шкале. Это просто сбивает с толку, особенно когда в AS3 есть такие мощные объектно-ориентированные инструменты ...

В любом случае - ура и удачи.

  • update - В ответ на последний комментарий ОП:

Конечно, хотя это довольно глубокий вопрос, в зависимости от вашего опыта. Главное - получить доступ к объектно-ориентированным функциям AS3 и управлять большинством приложений с помощью одного только кода.

Проекты выглядят следующим образом: Fla функционирует в основном как контейнер для ресурсов (и если вы используете встраивания, даже не это) с одним пустым периодом времени. В этом случае основной класс документов отвечает за инициирование и конструирование всех аспектов проекта - от загрузки и управления данными до создания и добавления объектов списка отображения, для установления и управления пользовательскими взаимодействиями. Классический дизайн Package / Class используется для создания, возможно, десятков или сотен отдельных файлов .AS. Временная шкала все еще используется для создания сложных анимаций, но редко включает какой-либо код (за исключением остановки (); здесь или там).

Когда я только учился этому - я получил хорошую книгу , и много работал с Google, чтобы выяснить основы AS3, и просто пошел оттуда. Сделайте несколько простых проектов, и вы увидите, насколько быстро вы можете получить это.

Преимущество такой работы невозможно переоценить.

Дайте мне знать, если у вас есть дополнительные вопросы. Удачи!

...