Я копался в ящике с носками Flash MX 2004 и наткнулся на довольно изящный файл AS (DepthControl.as), похороненный в каталоге установки; Немного дальнейшей исследовательской работы, и я был приятно удивлен, обнаружив несколько очень простых методов тасования глубины (круто, если вы занимаетесь разработкой игр или оконных приложений).
Вот список общедоступных функций для класса:
bringForward(target:MovieClip)
sendBackward(target:MovieClip)
bringToFront(target:MovieClip)
sendToBack(target:MovieClip):Void
И, создав простой мувиклип с идентификатором привязки deepTest, я добавил следующий код к первому кадру временной шкалы, позволяя простой функциональности пресс-релиза дублированным MC на сцене
for (i=0; i<15; i++) {
duplicateMovieClip("depthTest", ["depthTest"+i], i+5);
_root["depthTest"+i]._x = 50+(i*10);
_root["depthTest"+i]._y = 50+(i*10);
_root["depthTest"+i].onPress = function() {
mx.behaviors.DepthControl.bringForward(this);
};
_root["depthTest"+i].onRelease = function() {
mx.behaviors.DepthControl.sendBackward(this);
};
}
Теперь, когда мне нужно включить какие-либо манипуляции с глубиной в мои приложения, я могу просто включить класс и вызвать функции через цепочку прототипов!