Это мой первый раз здесь, и я прочитал правила публикации. Тем не менее, простите меня, если я ошибаюсь.Как сделать две или несколько функций одним нажатием кнопки?
Это мой первый раз, когда мы делали AS3 и Animate CC. Я решил сделать проект - тот, где вы нажимаете на броню, и броня появляется на аватаре. Очень похоже на игру «наряда», но я вообще не хочу тащиться. В принципе, я хочу, чтобы люди нажимали на изображение брони, а затем отображали его на аватаре, носящем его. Тем не менее, есть несколько вариантов брони, таких как Shirt 1, Shirt 2 или Skin 1, Skin 2 и т. Д. Моя основная проблема прямо сейчас заключается в том, что я не могу понять, как элемент исчезнет после нажатия на другой элемент, особенно в той же категории, что и шкуры. В течение двух дней я много гуляю, и нет никакого решения. Я нашел такие коды, как сброс, отключение изображения и другие вещи, которые я даже не могу вспомнить.
Я очень уверен, что делаю это совершенно неправильно. Вот код для кадра 4, где основная проблема. Имейте в виду, что я использовал разные коды в разных разделах основного кода для кадра 4, и теперь код полностью перепутался.
EDIT: Обновлено кодирование в соответствии с запросом.
import flash.events.MouseEvent;
stop();
function addItem(item:MovieClip,xPos:Number,yPos:Number){
trace(item);
trace(avatar_mc);
avatar_mc.addChild(item);
item.x = xPos;
item.y = yPos;
}
basic_skin_1_button.addEventListener(MouseEvent.CLICK, itemSelect1);
function itemSelect1(e:MouseEvent):void {
addItem(basicskin1_mc,25,40); {
}
}
basic_skin_2_button.addEventListener(MouseEvent.CLICK, itemSelect2);
function itemSelect2(e:MouseEvent):void {
addItem(basicskin2_mc,25,40)
}
Единственное, что я скажу, это да, у вас неправильное представление о функциях. Несколько хороших вещей здесь, но главное, что выделяется для меня, это то, что у вас есть функция для reset1 и hideskin2 и hideskin3. Это, как вы, вероятно, собрали, очень неэффективное кодирование, потому что, что происходит, когда вы хотите добавить четвертый или пятый скин? Вам нужно будет добавить весь этот дополнительный код. Тогда что произойдет, если у вас 12 скинов, и вы хотите что-то изменить в функции hideskin? Вам придется менять его 12 раз! У вас должна быть одна функция, которая принимает переменную, которая говорит, что кожа скрывается. –
Хорошо, спасибо, что рассказали мне об этом. Я ищу, чтобы скрыть все скины, кроме одного. Например, я нажимаю на бледный скин, и он появляется на аватаре, но мне это не нравится, поэтому я нажимаю на коричневый оттенок. Что происходит в этот момент, так это то, что бледная кожа не исчезает, если только не щелкнуть по кнопке бледной кожи, а не другим кнопкам. Надеюсь, я объясню это хотя бы немного ясно ... – Snowdeath
@Snowdeath Это не ответ, но я предлагаю избегать if (something.visible) {something.visible = false;} else {something.visible = true; } Вы можете сделать это, просто используя этот код: ** something.visible =! Something.visible; **. Этот метод короче, чтобы изменить значение булева. Для ответа я согласен с NealDavis – tatactic