Просто, чтобы сделать ваш код проще и легче для чтения.
С помощью массива val вы можете заполнить его следующим образом
val = new Array (0,0,0,0,0,0,0);
Да, у этого есть семь чисел, так как массив начинается с 0. Вам не нужно ссылаться на него, но я бы заполнил его, чтобы он выглядел лучше.
Я также изменил бит if else в конце на это:
switch (val){
case 0:
p[num].visible = true;
j[num].visible = true;
break;
case 1:
trace("one");
p[num].visible = false;
j[num].visible = false;
break;
case 2:
trace("two");
p[num].visible = false;
j[num].visible = false;
a[num].visible = false;
break;
case 3:
trace("three");
p[num].visible = false;
j[num].visible = false;
a[num].visible = false;
b[num].visible = false;
break;
case 4:
trace("four");
p[num].visible = false;
j[num].visible = false;
a[num].visible = false;
b[num].visible = false;
c[num].visible = false;
break;
case 5:
trace("five");
p[num].visible = false;
j[num].visible = false;
a[num].visible = false;
b[num].visible = false;
c[num].visible = false;
d[num].visible = false;
break;
}
Что касается вашей реальной проблемы, я не думаю, что вы можете изменить кнопку из массива, поскольку она станет копией кнопки, а не самой кнопки (надеюсь, что это имеет смысл). У меня все еще были бы массивы, но вместо видимости кнопки я бы использовал Booleans. Чтобы в конце вы могли поставить:
btnButton.visible = p1;
Надеюсь, что все в порядке и пригодится.