2009-07-17 3 views
1

私はHTMLオブジェクトタグを使用して私のWebページに含まれているSWFファイルをたくさん持っています。その正常に動作しますが、私は私のSWFファイルのサイズを維持することができません。私はSWFファイルのために次のコードを持っています。HTMLページで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ファイルのサイズ(幅と高さ)は、上記のコードのオブジェクトタグに固定されています。サイズが一定の範囲を超えてから一定のサイズがファイルに適用されたい場合、ファイルは元のサイズで表示されます。

オブジェクトタグに指定したサイズより小さいサイズのファイルがあると、SWFファイルのグラフィックスが歪んで見えなくなります。

サイズが600x400を超えた場合、ファイルサイズが600x400未満であれば、SWFファイルのサイズを自動的に変更できます。このサイズが適用される場合、ファイルは元のサイズで表示されます。

私はいくつかのゲームサイト(miniclip.comなど)がまったく同じことをしていることを確認しています。プレイページにゲームのオリジナルサイズを表示しています。テーブルなど何か?

HTMLでこれを行う方法はありますか、またはJQueryまたはjavascriptを使用していますか?

答えて

1

JSからFlashステージのサイズを単純に検出する方法はありません。ステージサイズを設定するには、Flash内からJS関数を呼び出す方がよいでしょう。

だから、あなたはFlashムービー(AS2)にこのコードを配置する必要があります:

import flash.external.ExternalInterface; 
ExternalInterface.call("resizeFlash", Stage.width, Stage.height); 

は、次にHTMLページに、あなたはフラッシュ要素のサイズを変更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; 
    } 
} 
+0

私はSWFファイルしか持っていないのでソースコードを変更できません。 – Prashant

関連する問題