Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 有人能解释一下为什么这个ActionScript代码的行为是自动伸缩的吗?_Actionscript 3_Video_Window_Autoscalemode - Fatal编程技术网

Actionscript 3 有人能解释一下为什么这个ActionScript代码的行为是自动伸缩的吗?

Actionscript 3 有人能解释一下为什么这个ActionScript代码的行为是自动伸缩的吗?,actionscript-3,video,window,autoscalemode,Actionscript 3,Video,Window,Autoscalemode,我是AS3的新手,我正在为AIR做一些定制的视频播放器视频项目。当我学习如何播放视频的简单示例(非StageVideo)时,我遇到了一个独特的情况,我从Flash中获得了一个很棒的自动缩放(拉伸到适合)窗口行为 每当我将SWF指令的宽度和高度设置为我正在创建的flash.media.Video对象的宽度和高度时。它执行自动缩放、拉伸以适应、可调整大小的行为。像这样: // SWF directive placed before the class declaration of the main

我是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,这两个参数也会根据窗口的大小进行调整有人能解释我这种行为吗?我在文档中读到的内容都没有提到这一点。

别误会,我喜欢这种行为!:)对我来说,这让事情变得容易了。但是在代码方面,我需要理解为什么会发生这种情况,因为我设置的代码与自动缩放无关


还有,指令到底是干什么用的?他们不是只有纯ActionScript3版本吗?在我看来,它们看起来很黑。

我认为您所描述的行为是由Flash的HTML嵌入中的
scale
参数引起的。通常,这默认为
showAll
,可放大闪存以适应容器

有两种不同的大小:容器的大小(HTML页面中的块)和Flash内容的大小(您在SWF标记中指定的内容)。缩放模式决定这些尺寸不匹配时的行为。您可以通过调整该嵌入参数或从AS3直接使用以下命令来控制此行为:

如果您想使用缩放模式,我会将视频的宽度设置为与舞台尺寸相匹配,如下所示:

myvid.width = stage.stageWidth;
myvid.height = stage.stageHeight;
这样可以避免重复SWF宽度和高度


这些指令主要为编译器指定一些元数据或指令。SWF标记特别指定SWF标头中的信息,例如所需的宽度、高度和帧速率。大多数情况下,这些只是对播放器+容器关于如何显示文件的一些建议。其中一些可以在代码中更改(
stage.frameRate=50;
)。另一个元标记是,它将一些资产捆绑到SWF中(如果您想嵌入一些二进制数据,尤其方便)。

我认为您描述的行为是由Flash的HTML嵌入中的
scale
参数引起的。通常,这默认为
showAll
,可放大闪存以适应容器

有两种不同的大小:容器的大小(HTML页面中的块)和Flash内容的大小(您在SWF标记中指定的内容)。缩放模式决定这些尺寸不匹配时的行为。您可以通过调整该嵌入参数或从AS3直接使用以下命令来控制此行为:

如果您想使用缩放模式,我会将视频的宽度设置为与舞台尺寸相匹配,如下所示:

myvid.width = stage.stageWidth;
myvid.height = stage.stageHeight;
这样可以避免重复SWF宽度和高度


这些指令主要为编译器指定一些元数据或指令。SWF标记特别指定SWF标头中的信息,例如所需的宽度、高度和帧速率。大多数情况下,这些只是对播放器+容器关于如何显示文件的一些建议。其中一些可以在代码中更改(
stage.frameRate=50;
)。另一个元标记是,它将一些资产捆绑到SWF中(如果您想嵌入一些二进制数据,尤其方便)。

谢谢!非常简洁明了。我还没有达到了解舞台的程度。这个给了我一个很好的理由。谢谢你,伙计!非常简洁明了。我还没有达到了解舞台的程度。这一次给了我一个很好的理由。