Как вы можете прочитать в комментарии ниже вашего вопроса, есть несколько способов для этого.
Но на самом деле то, что вы просили " установить глубину мувиклипа на любое число ", на самом деле не может быть сделано в AS3. Если я прав, вы можете сделать это в AS2, так что ...
... как это было ...
_root.createEmptyMovieClip("mc", -1000);
или
_root.createEmptyMovieClip("mc1", 1);
_root.createEmptyMovieClip("mc2", 10);
работает, но не работает в AS3. В AS3 глубина начинается с 0, и вы не можете заставить DisplayObject сидеть на уровне, который не является непрерывным от нуля.
Таким образом, глубина 3 мувиклипов в контейнере возможна только при следующих значениях: 0, 1, 2.
Например, глубина не может быть отрицательным числом.
Теперь, если вы хотите создать собственный менеджер глубины, вы можете это сделать, но вы должны учитывать эти факты.
Так сказать, вы можете создавать виртуальные глубины.
Так что, я думаю, вы можете переопределить метод addChildAt
, например. В настоящий момент, если вы введете неправильное число: отрицательное или большее, чем число детей, flash вернет ошибку:
RangeError: Error #2006: The supplied index is out of bounds.
Итак, mc.addChildAt(newchild, -1000)
дает арест.
Но с переопределением метода вы могли бы сделать трюк, чтобы вы могли хранить глубины в массиве. Вы можете сохранить любые числа и затем преобразовать этот порядок для нужд AS3.
Подобно сопряжению глубин с добавленными дочерними элементами, сортировке массива по глубине, а затем управлению дочерними элементами в соответствии с порядком.
Если у вас есть еще вопросы, не стесняйтесь спрашивать, надеюсь, это приблизит вас к решению.