Actionscript 3 如何在actionscript3中为类变量使用SWF高度?

Actionscript 3 如何在actionscript3中为类变量使用SWF高度?,actionscript-3,actionscript,flash,height,class-variables,Actionscript 3,Actionscript,Flash,Height,Class Variables,我想使用[SWF height=200]中的高度作为类变量。 我尝试了以下代码,但它导致编译错误 const SWF_HEIGHT:int = 200; package { import flash.display.*; [SWF(backgroundColor=0xffffff, width=400, height=SWF_HEIGHT)] public class Main extends Sprite { public static const

我想使用[SWF height=200]中的高度作为类变量。 我尝试了以下代码,但它导致编译错误

const SWF_HEIGHT:int = 200;

package {
    import flash.display.*;

    [SWF(backgroundColor=0xffffff, width=400, height=SWF_HEIGHT)]

    public class Main extends Sprite {
        public static const Y:int = SWF_HEIGHT / 2;
    }
}
如果我用数字200代替常量SWF_高度, 编译错误没有发生。 但我不想在两个地方写同样的数字。
有没有办法避免在两个位置写入相同的数字?

为什么要在metatag中设置高度?您可以在构造函数中执行此操作:

const SWF_HEIGHT:int = 200;

package {
    import flash.display.*;

    [SWF(backgroundColor=0xffffff, width=400)]

    public class Main extends Sprite {
        public static const Y:int = SWF_HEIGHT / 2;

        public function Main():void {
            height = SWF_HEIGHT;
        }
    }
}

-答案已编辑-

您需要以另一种方式进行:

package {
    import flash.display.*;

    [SWF(backgroundColor=0xffffff, width=400, height=200)]

    public class Main extends Sprite {
        private static var _swfHeight : int = -1;
        public static function get swfHeight():int{
            return _swfHeight;
        }
        public function Main():void{
            _loader = this.loaderInfo;
            _loader.addEventListener(Event.COMPLETE, loaded );
        }
        private var _loader : LoaderInfo;
        private function loaded( event : Event ) : void{
            _swfHeight = _loader.height;
        }
    }
}

这不是一个非常可靠的方法。stageHeight并不总是提供SWF元标记中指定的高度。如果有屏幕外的精灵,或者形状的笔划稍微离开屏幕,它可能会更大。这不是真的。你说的是舞台高度,不是舞台高度。然而,你是正确的,因为这不是一个正确的方法。我刚刚测试了不同的可能性,但在noScale StageScaleMode中失败。我编辑了答案以确保正确。我知道我在什么地方做过,所以我查了一下。这应该是唯一真正可靠的解决方案。@Creynders谢谢你的回答!使用noScale StageScaleMode时,是否编辑代码以获取舞台高度?如果我使用showAlldefault模式而不是noScale,我可以使用您代码的早期版本吗?是的,它应该适用于所有阶段缩放和对齐设置。舞台上或舞台外是否有物品。如果你碰巧发现一种情况,但有相当多的可能组合,在其中它不工作,请让我知道!