Я не верю, что именно тот метод, который вы хотите, сработает. Мне кажется, что объект MovieClip, который является DisplayObjectContainer или расширяет DisplayObjectContainer, использует шаблон проектирования Composite, где на его дочерние элементы влияют, когда на него влияют. Подумайте о создании видеоролика, как показано ниже:
var mc:MovieClip = new MovieClip();
addChild(mc);
var mcChild:MovieClip = new MovieClip();
mc.addChild(mcChild);
Теперь, если вы перемещаете родительский элемент, mc, mcChild перемещает точное количество пикселей, сохраняя свои позиции "x" и "y", а также все остальные атрибуты.
При этом все, что вам нужно, - это разместить проигрыватель VideoPlayer на внешней стороне изменяемого размера видеоклипа. Вполне вероятно, что после изменения размера видеоклипа вам может понадобиться расположить видеопроигрыватель в том же относительном положении.
var mc:MovieClip = new MovieClip();
addChild(mc);
var vp:VideoPlayer = new VideoPlayer();
vp.x = mc.x + 10;
vp.y = mc.y + 10;
addChild(vp);
/**
*If mc's registration point is "Top-Left" then adjustments aren't
*required because mc will span down and to the right, otherwise we
*need to reposition the video.
*/
function resizeMovie(pWidth:Number, pHeight:Number):void
{
mc.width = pWidth;
mc.height = pHeight;
adjustVideo();
}
function repositionMovie(pX:Number, pY:Number):void
{
mc.width = pWidth;
mc.height = pHeight;
adjustVideo();
}
function adjustVideo():void
{
//This is where we make sure of vp's positioning upon mc's change.
vp.x = mc.x + 10;
vp.y = mc.y + 10;
}
Таким образом, всякий раз, когда мы влияем на главное, мы можем воздействовать на другие объекты по-своему. Эта же идея работает с изменением размера сцены.
stage.addEventListener(Event.RESIZE, onStageResize);
function onStageResize():void
{
//Make mc the size of the stage
mc.width = stage.stageHeight;
mc.height = stage.stageHeight;
//Position video in relation to mc
adjustVideo();
}
В конце концов, MovieClip настроен на настройку своих дочерних элементов относительно того, как настраивается сам. Как DisplayObjectContainer имеет смысл, что элементы внутри него определяются родителем (MovieClip), и для достижения того, что вы хотите, вам просто нужно абстрагировать видеопроигрыватель из swf и внести в него соответствующие изменения.