使用actionscript未正确设置元素的宽度

时间:2011-11-16 09:31:22

标签: flash actionscript-3 adobe width movieclip

我在设置动画片段的宽度和高度时遇到问题。 我所做的是创建新的movieclip将其添加到舞台,然后调整大小并重新定位。

public class mcMainContent extends MovieClip
    {
        var _myStage:Stage;
        public function mcMainContent()
        {

        }
        public function ResizeAndReposition(leftContent:MovieClip,rightContent:MovieClip,myStage:Stage)
        {
            _myStage = myStage;
            x = leftContent.width + 10;

            width = _myStage.stageWidth - leftContent.width - rightContent.width - 10;

            trace("calculated width: " + (_myStage.stageWidth - leftContent.width - rightContent.width - 10) + ", width of element: " + width);

        }
        public function Resize()
        {

        }
        public function Reposition()
        {

        }

    }

即使计算值始终是其他数字,我也总是将我的movieclip的宽度设为0。在我将movieclip添加到舞台之后,我尝试调用此函数,然后将movieclip添加到舞台,但它的宽度始终为0。 谢谢

1 个答案:

答案 0 :(得分:3)

如果您的MovieClip没有内容,则其宽度将始终为0. MovieClip的宽度由其内容决定,当您调整MovieClip的大小时,该内容会向上和向下缩放。换句话说,如果您的MovieClip包含100px宽的形状,则MovieClip的宽度将为100px。如果然后将MovieClip的宽度设置为200px,则内部形状的scaleX值为2.

作为旁注,您应该知道方法名称应以小写字母开头。这是为了区别于类名。