0

我有一个问题要在其容器中居中动画。

这是容器或装载机:

    public function Main():void
    {
        trace("Constructor...");

        this.addEventListener(Event.ADDED_TO_STAGE, this.addEvent);
    }

    public function addEvent(e:Event):void
    {
        trace("AddedToStage");

        this.stage.scaleMode = StageScaleMode.NO_SCALE;
        this.stage.align = StageAlign.TOP_LEFT;

        var url = new URLRequest("testfile.swf");
        movie = new Loader();
        movie.contentLoaderInfo.addEventListener(Event.COMPLETE, this.eventComplete);
        this.stage.addChild(movie);
        movie.load(url);
    }

    public function eventComplete(e:Event):void
    {
        trace("Complete...");

        movie.x = (this.stage.stageWidth - movie.width) * 0.5;
        movie.y = (this.stage.stageHeight - movie.height) * 0.5;
    }

这适用于场景中的对象,但不适用于添加了动作脚本的对象......就像这样:

    public function Main():void
    {
        trace("Constructor of included file!");

        stage.scaleMode = StageScaleMode.NO_SCALE;

        var movieclip = new symbol_an();
        stage.addChild(movieclip);
    }

你有解决方案吗?

谢谢,问候。

4

1 回答 1

0

你的意思是它不工作,你的第二个函数没有显示太多......在你的代码的第二部分你可以做和第一个一样的,基本上得到容器的宽度和它的孩子,减去然后将结果除以二。要使其工作,您必须确保 width 或 height 属性实际上具有值,这取决于您的特定应用程序,因此如果没有更多信息就很难为您提供帮助。

在第二部分中,您没有 ADDED_TO_STAGE 事件侦听器,这可能会引发错误,因为阶段值可能为空。

于 2010-08-13T16:19:30.607 回答