我是 AS3 的新手,我正在为 AIR 做一些自定义视频播放器视频项目。当我在研究如何播放视频的简单示例(非 StageVideo)时,我遇到了一种独特的情况,即我从 Flash 中获得了非常棒的窗口行为自动缩放(拉伸以适应)。
每当我将 SWF 指令的宽度和高度设置为等于我正在创建的 flash.media.Video 对象的宽度和高度时。它执行自动缩放、拉伸以适应、可调整大小的行为。像这样:
// SWF directive placed before the class declaration of the main class
[SWF( width="1024", height="576", backgroundColor="000000", visible="true" )]
// somewhere in my initialization
myvid = new Video();
with( myvid )
{
x = 0;
y = 0;
width = 1024; // if I set this wxh equal to wxh in the SWF directive it auto-scales!
height = 576;
}
myvid.attachNetStream( myns );
addChild( myvid ); // must come after instancing of video and netstream, and attach to make the auto-scale work
myvid.play( "somevideo.flv" );
即使我将宽度设置为 16 并将高度设置为 9,它也会缩放并完全适合我的窗口大小。有人可以解释一下这种行为吗?我在文档中读到的内容都没有提到这一点。
不要误会我的意思,我喜欢这种行为!:) 这让我的事情变得更容易了。但是在代码方面,我需要了解为什么会发生这种情况,因为我设置的代码与自动缩放无关。
另外,指令到底是干什么用的?他们不是只有纯 ActionScript 3 等价物吗?他们对我来说看起来很骇人听闻。