我想在[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而不是const SWF_HEIGHT,
编译错误不会发生
但我不想在2个地方写相同的号码
有没有办法避免在2个地方写相同的号码?
答案 0 :(得分:1)
- 已经编辑了答案 -
你需要反过来做这件事:
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;
}
}
}
答案 1 :(得分:-1)
为什么要在元标记中设置高度?你可以在构造函数中执行它:
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;
}
}
}