2014-10-21 6 views
0

Я относительно не знаком с AS3 и в настоящее время пытаюсь найти решение этой проблемы:AS3 Скрыть случайный объект?

У меня есть экран запуска из 25 значков (видеоклипы, а только статические изображения) в сетке, с за ними. При опрокидывании каждого из значков, я хотел бы, чтобы случайный выбор из 25 значков был скрыт - ИСКЛЮЧЕНИЕ для текущей перевернутой иконки. Затем на ROLL_OUT все 25 значков должны снова стать видимыми.

Любая помощь, которую вы можете предложить, очень признательна!

+1

Вы можете поделиться своим текущим кодом? Это даст нам что-то, на что можно опираться. – Marty

+0

Поделитесь своим текущим кодом и покажите, что вы пробовали. – BadFeelingAboutThis

ответ

0

Я бы предложил использовать свойство .visible, которое существует в каждом фрагменте ролика. Один простой пример:

MyMovieClip.visible = false; 

Это сделало бы мувиклип невидимым при вызове.

Одним из возможных решений вашей проблемы будет создание массива мувиклипов, которые вы отключили/переключили на ROLL_OVER и ROLL_OUT.

1

Что вам нужно сделать, это пропустить все перемещаемые вами MoveiClips и произвольно выбрать некоторые из них, которые будут установлены как невидимые.

Чтобы сделать MovieClips невидимым, мы установим для них visible объект false, который скроет их.

Поскольку вы не предоставили нам какой-либо из ваших текущих кодов, я попытаюсь создать их в соответствии с вашими потребностями.

function icon_rollOver(e:MouseEvent):void { 
    for (var i:uint = 0; i < holderMC.numChildren; i++) { 
     if (holderMC.getChildAt(i) != e.target) { 
      holderMC.getChildAt(i).visible = Math.random() > 0.5; 
     } 
    } 
} 

function icon_rollOut(e:MouseEvent):void { 
    for (var i:uint = 0; i < holderMC.numChildren; i++) { 
     holderMC.getChildAt(i).visible = true; 
    } 
} 

// Add icon_rollOver and icon_rollOut as events to each of your MovieClips 

Этот код должен сделать трюк. В настоящее время я не в состоянии проверить код, поэтому может возникнуть ошибка или два; однако это основной принцип.

holderMC - это MovieClip, где хранятся все значки. Если в этом holderMC есть другие MovieClips, которые не являются значками, тогда потребуется немного более сложный код или для переноса этих не-значков в другой контейнер.

Когда функция icon_rollOver называется, это будет цикл по каждому MovieClip внутри holderMC, а затем проверить, чтобы увидеть, если это то же самое, как e.target где e это событие. Свойство target относится к объекту, который отправил событие, поэтому в этом случае должен быть свернутый MovieClip. Если текущий дочерний элемент НЕ является тем, который перевернулся, установите его видимость на условное выражение, равное тому, является ли случайное число (от 0 до 1) больше .5. И.Е. есть 50% шанс, что MovieClip станет невидимым.

Когда вызывается функция icon_rollOut, мы снова перебираем каждый MovieClip внутри holderMC, а затем просто устанавливаем видимость как истину независимо от того, что. Это сделает КАЖДЫЙ MovieClip в holderMC видимым.

Надеюсь, этого достаточно, чтобы помочь вам в вашем проекте. Удачи!

Смежные вопросы