AS3 将 MovieClip 居中

AS3 Center a MovieClip

我有一个宽度为 1920 的舞台,space 我试图将我的 MovieClip 居中的宽度是 1520。我的 MovieClip 根据用户选择而变化,所以它可能是 1023.9 或 396.8 我正在尝试将此影片剪辑置于我的 1520 位置的中心。我该怎么做?

我试过以下方法:

floorplanMCAG.x = 1520 - floorplanMCAG.width;

但是我的1023.9 MovieClip 偏左太多了,我的396.8 MovieClip 偏右了一点

我的 MovieClip 是这样创建的:

loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFloorplanAG);
loader.load(new URLRequest("images/" + modelAG.floorplan));

var floorplanMCAG:MovieClip = new MovieClip();

function loadFloorplanAG(e:Event):void
{
    floorplanMCAG.addChild(loader);

    floorplanMCAG.height = 468;

    floorplanMCAG.y = 570;

    floorplanMCAG.scaleX = floorplanMCAG.scaleY;

    floorplanMCAG.x = stage.stageWidth / 2;

    trace(floorplanMCAG.width);

    map_boundsFLRPLSAG = new Rectangle(520,570,floorplanMCAG.width,floorplanMCAG.height) // this defines the area in which the map should fit

    min_zoomFLRPLSAG = floorplanMCAG.scaleX;    

    //Zoom and Drag Event Listeners

    stage.addEventListener(TouchEvent.TOUCH_BEGIN, touchBeginFLRPLSAG)
    stage.addEventListener(TouchEvent.TOUCH_MOVE, touchMovedFLRPLSAG)
    stage.addEventListener(TouchEvent.TOUCH_END, touchEndFLRPLSAG)

    modelInformationAG.addChild(floorplanMCAG);

    modelInformationAG.setChildIndex(floorplanMCAG, 0);
}

这里是modelInformationAG

var modelInformationAG:MovieClip = new MovieClip();
modelInformationAG.graphics.drawRect(0, 0, 1920, 1080);

使您的影片剪辑居中的公式取决于影片剪辑的注册点设置位置。理论上注册点可以在任何地方,但这里有两种最常见的情况:

如果设置在mc的左上角:

floorplanMCAG.x = (stage.stageWidth - floorplanMCAG.width) / 2;

如果注册点在中心:

floorplanMCAG.x = stage.stageWidth / 2;

编辑:

好的,我想这应该使您的影片剪辑居中:

floorplanMCAG.x = (modelInformationAG.width - floorplanMCAG.width) / 2;