我有一个flash脚本,我通过addChild添加了一个移动剪辑,我的电影区域是500x400 和movieClip我对齐到中心。但是当我试图在浏览器中设置大小时,它没有与中心对齐。我的所有计算都出错了。
package {
import flash.display.*;
import flash.display.Stage;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import flash.utils.Timer;
import fl.motion.Color;
import flash.events.*;
import flash.text.*;
import flash.system.LoaderContext;
import flash.system.Security;
public class main extends Sprite {
public function main(){
trace("Hello");
var btn:_Button = new _Button();
btn.x= (stage.stageWidth - btn.width)/2
btn.y= (stage.stageHeight - btn.height)/2
addChild(btn);
}
}
}
这是我的代码
答案 0 :(得分:3)
您需要为侦听器添加resizeEvent和FullScreen事件。
public function main():void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; ... ... stage.addEventListener(Event.RESIZE, resizeHandler); stage.addEventListener(FullScreenEvent.FULL_SCREEN, resizeHandler); ... }
private function resizeHandler(e:Event):void { btn.x= (stage.stageWidth - btn.width)/2 btn.y= (stage.stageHeight - btn.height)/2 }
答案 1 :(得分:0)
如果居中对齐
btn.x = stage.stageWidth / 2;
btn.y = stage.stageHeight / 2;
如果左上角
btn.x = stage.stageWidth / 2 - btn.width / 2;
btn.y = stage.stageHeight / 2 - btn.height / 2;