PDA

Просмотр полной версии : Как средствами Action Script сделать невидимым слой


BangMan
12.07.2008, 23:35
Суть проблемы:
Есть два слоя: на одном (Layer1) - фон, на другом (Layer2) - 5 мувов. Есть кнопка (but), при нажатии которой необходимо эти мувы сделать невидимыми, то есть скрыть весь слой (можно конечно прописывать каждому муву свойство _visible=false, но это не пройдет, потому что в дальнейшем количество мувов будет около сотни, а может и более :))
Пробовал писать в обработчике кнопки (but) следующее:
but.onPress = function() {
_root.Layer2._visible=false;
}
не работает :( Прошу помощи...

scarbo
12.07.2008, 23:42
мда,оригинальный код,создайте программно пустой мув(знаете как?),и в него засуньте ваши мувы,а визибл прописывайте пустому муву.

BangMan
12.07.2008, 23:45
Нет, я не знаю, как пустой мув создать программно, код подкините?

scarbo
12.07.2008, 23:47
this.createEmptyMovieClip("pusto_mc", 2);
pusto_mc.attachMovie("moy_mc", "moy1_mc", this.getNextHighestDepth());
but.onPress = function(){
pusto_mc._visible = false;
}
тут в пустой мув вставляется 1 свой,а если их около ста то надо цикл писать,а цикл сможете написать?

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

BangMan
12.07.2008, 23:56
спасибо, цикл написать смогу :))

scarbo
13.07.2008, 00:11
на всяк случай:this.createEmptyMovieClip("pusto_mc", 2);

for (i=0; i<100; i++){
var xRandom = (Math.random()*800)+100;
var yRandom = Math.random()*600;
pusto_mc.attachMovie("moy_mc", "moy"+i+"mc", i,{_x:xRandom, _y:yRandom});
}
but.onPress = function(){
pusto_mc._visible = false;
}

BangMan
13.07.2008, 00:13
Хотя нет, scarbo, погорячился я с циклом :) не подскажешь как ?

scarbo
13.07.2008, 00:15
код постом выше
Пояснения - moy_mc - это клип лежащий в библиотеке (это может быть кружочек ,или квадратик)
var xRandom и var yRandom - это переменные запоминают случайное расположение клипов на сцене по х:со 100 пикселей по 800,по у: с 0 по 600,
кнопка but находиться в левой части поля
вот исходник на всяк случай