SWF对象参数 - scale或scaleMode

时间:2011-11-07 13:42:04

标签: object flash embed swfobject

在我的工作中,我一直将SWF文件嵌入到HTML文档中。我经常问自己一些事情:

scaleMode="noscale"还是scale="noscale"?这些值是否区分大小写?我看到了一些代码片段,如scale="noScale"等。

ActionScript中的语法如何?它是Camelcase noScale吗?我不关心HTML标准我只想知道它是如何从Flash开发人员的角度来看的。

任何人都有线索?我经常检查过Google很多次,但我从来没有找到类似描述的内容。我刚刚找到了描述参数和值的Adobe页面,但这并没有回答我的任何问题。

非常感谢! :)

2 个答案:

答案 0 :(得分:8)

在3秒内在谷歌找到答案:

  

比例 - 可能的值:showall,noborder,exactfit,noscale。   指定Flash Player如何缩放SWF内容以适合像素区域   由OBJECT或EMBED标记指定。默认(显示全部)使   整个SWF文件在指定区域中可见而没有失真,   同时保持电影的原始宽高比。边界可以   出现在电影的两面。 noborder缩放SWF文件以填充   指定区域,同时保持原有的长宽比   文件。 Flash Player可以裁剪内容,但不会发生失真。   exactfit使整个SWF文件在指定区域中可见   而不试图保持原始的宽高比。失真可以   发生。 noscale可防止SWF文件缩放以适应该区域   OBJECT或EMBED标签。可以进行裁剪。

More info here

编辑:我认为区分大小写取决于浏览器,但遵循xhtml标准,您应该始终使用小写。

另一方面,

Edit2:scaleModeStageActionScript对象的属性,因此它用于在SWF影片中设置缩放模式,即未嵌入。当您嵌入swf时,该参数将覆盖您在HTML中设置的内容。

答案 1 :(得分:2)

如果您是通过ActionScript设置缩放模式,则使用scaleMode对象的Stage属性。如果您是通过JavaScript或HTML标记进行设置,则可以在scale节点中使用<param>

关于大小写,Adobe的scaleMode(ActionScript)文档在我记忆中(至少在过去的6年中)始终使用驼峰案例。 current AS3 docs clearly use camel casearticle linked above指的是JavaScript / HTML中的scale,而不是ActionScript。似乎全面的骆驼箱是最安全的路线,你可以肯定它会受到支持。

以下是使用SWFObject的一些scale示例:

SWFObject动态:

var flashvars = {};
var params = { scale: "noScale" };
var attributes = {};
swfobject.embedSWF("/swf/sample.swf", "flash", "100%", "100%", "9", false, flashvars, params, attributes);

SWFObject static:

<object id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
  <param name="movie" value="/swf/sample.swf" />
  <param name="scale" value="noScale" />
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="/swf/sample.swf" width="100%" height="100%">
  <param name="scale" value="noScale" />
  <!--<![endif]-->
    <p>Place fallback content here for users who don't have Flash<p>
  <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

比例选项的示例和说明:

http://learnswfobject.com/advanced-topics/100-width-and-height-in-browser/

相关问题