我想加载一个位于外部服务器的SWF文件,并在客户端播放。我在这方面取得了成功,但是当它加载时我遇到了对齐问题。我使用以下代码:
import flash.display.*;
import flash.net.URLRequest;
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(0,0,1000,1000);
addChild(rect);
var ldr:Loader = new Loader();
ldr.mask = rect;
var url:String = "http://www.unknown.example.com/content.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);
它加载得很好,但是当我最大化帧时,视频对齐正在改变,只有一半的视频在屏幕上可见。
答案 0 :(得分:0)
尝试在代码顶部添加第1帧:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
stage.scaleMode = StageScaleMode.NO_SCALE;// Don't scale the contents of the swf (you may not want to use this
stage.align = StageAlign.TOP_LEFT;// Align the stage to the top left corner of the screen
您可能还需要将其添加到其他swf中,但我不确定。
答案 1 :(得分:0)
import flash.display.StageScaleMode;
import flash.display.StageAlign;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
rect.x = stage.stageWidth / 2;
rect.y = stage.stageHeight / 2;
rect始终位于舞台的中心。通过找到舞台的宽度然后将其除以2来计算舞台的中心。我们只是将其设置为rect的.x属性的值,它将完成工作。同样的事情也适用于rect的舞台高度和.y属性。