2008-12-23 20 views
1

我有一個flash動畫從xml文件動態加載圖像。我想在不同的頁面上重新使用這個.swf文件,但是頁面1上的圖像都是400 x 200,頁面2上的圖像全部是745 x 422.當我嘗試在另一頁上重複使用時,加載的圖像會縮小(調整大小) - 我希望它們匹配寬度/高度中定義的內容,但是它們會根據舞臺的縮放比例進行縮放。在Flash中縮放圖像以匹配html中定義的大小

即時通訊使用的爲它們放在一個容器上的圖像(精靈)裝載機(AS3)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide][email protected])); 

我已經嘗試製作階段各種尺寸開始,但我真的很喜歡它是irrelavant如果可能的話 - 例如:50 x 50.然後在html中,寬度/高度將被設置爲正在加載的圖像的寬度/高度。

我不是閃光燈嚮導,所以請原諒我,如果我不明確,我會盡量給予更多的見解,如果需要。

回答

2

夫婦的事情......首先你需要指定應用程序不按比例。 (AS3代碼)

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 

然後,一旦你的圖像加載(添加一個偵聽到slideLoader對象),執行一個使用JavaScript函數Flash的ExternalInterface類。

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height); 

而JavaScript函數將是這樣的:

function resizeFlashMovie(width, height) { 
    var flash = document.getElementById('yourFlashMovieId'); 
    flash.style.width = width+'px'; 
    flash.style.height = height+'px'; 
} 
+0

非常感謝你,我從來沒有想過:-) – schmoopy 2008-12-23 04:22:46

0

我很抱歉我沒有手頭的代碼,但我知道你可以選擇在啓動時在畫布上設置無調整大小。

理想情況下,您可以通過嵌入標籤的屬性傳遞高度/寬度,在畫布上調整大小並使用傳入的維度設置圖像尺寸。

0

我相信這是它:

fscommand("allowscale","false"); 
+0

我想補充一點,在類的定義,以及對當負載事件發生時調用的函數 - 在這兩種情況下,它不顯示任何東西,但行爲就像我點擊圖像(有點擊事件附加) - 我做錯了什麼?應該在哪裏使用fscommand? - 謝謝:-) – schmoopy 2008-12-23 04:10:30