我有许多SWF文件,我使用HTML Object标记包含在我的网页中。它的工作正常但是,我无法维护我的SWF文件的大小。我有以下SWF文件的代码。
<object id="example_flashGame" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400">
<param name="movie" value="/video/swf/fun/funny-baby.swf" />
<param name="allowScriptAccess" value="always" />
<param name="loop" value="false" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<param name="wmode" value="window" />
<embed name="example_flashGame" src="/video/swf/fun/funny-baby.swf" width="600" height="400" allowScriptAccess="always" loop="false" menu="false" quality="high" wmode="window" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
目前,SWF文件的大小(宽度和高度)已在上面代码中的object标签中修复。我希望当大小超过某个范围,然后将恒定大小应用于其他文件,文件将以其原始大小显示。
如果文件的大小小于我在object tag中给出的大小,则SWF文件图形会失真并且看起来不太好。
任何人都可以告诉我,如果文件大小超过600x400,如果文件大小小于600x400,我怎么能自动调整SWF文件的大小,然后这个大小将适用,否则文件应该以原始大小显示。
我看过一些游戏网站(比如miniclip.com)做同样的事情,他们在游戏页面上显示游戏(小或大)的原始大小,他们是否在数据库表中维护文件的高度和宽度或其他什么?
有没有办法在HTML中使用或使用JQuery或javascript?
答案 0 :(得分:1)
没有办法简单地从JS中检测Flash阶段的大小。你最好从Flash里面调用JS函数来设置舞台大小。
因此,您必须将此代码放入Flash影片(AS2)中:
import flash.external.ExternalInterface;
ExternalInterface.call("resizeFlash", Stage.width, Stage.height);
然后在HTML页面中,您将拥有调整Flash元素大小的JS函数:
var max_flash_width = 800;
var max_flash_height = 600;
function resizeFlash(w, h)
{
// force the w and h to be within limits set above
w = Math.min(w, max_flash_width);
h = Math.min(h, max_flash_height);
// then resize the flash element using w and h
var flash_elem = document.getElementById("example_flashGame");
flash_elem.width = w;
flash_elem.height = h;
if (navigator.userAgent.toLowerCase().indexOf("safari") !=- 1) {
var flash_elem = document.getElementById("example_flashGame");
flash_elem.width = w;
flash_elem.height = h;
}
}