2011-08-24 56 views
1

我正在爲一家網絡公司開發一個Web應用程序,它是一個加載外部swf文件並以幻燈片方式呈現它們的「引擎」,非常類似於呈現的很多這些天的網站前端標題內容區域設置舞臺以允許任何舞臺寬度或高度

事情已經差不多準備好了,但我碰到了一些設計障礙。雖然我一直在愉快地開發一個930x270的舞臺寬度和高度,事實是,並非每一個網站都會使用這些尺寸。因爲這個確切的原因,所有運行的使用stage.stageWidth屬性(和stage.stageHeight相同),但是我似乎無法動態設置寬度和高度值,即使在網頁上使用基本到高級的嵌入技術。

使用Flex/FlashBuilder元信息

[SWF(frameRate=30, widthPercent=100, heightPercent=100)] 

,或者即使我設置一個特定的寬度和高度與否。 例如,如果我沒有設置任何東西(只是幀速率),並且將結果的swf嵌入到980x300,stage.stageWidth STILL僅返回500的元素的頁面中,則完全搞亂了我的元素如何顯示。

我嘗試設置的scaleMode過,現在其設置爲

stage.scaleMode = StageScaleMode.EXACT_FIT; 

它在我的constructor.Still 500設置的第一件事情(沒有任何元信息集,或者甚至widthPercent和heightPercent)。

我需要嵌入式閃存幾乎可以在沒有重新編譯要求的情況下工作,不需要擔心寬高比,加載的內容將爲該特定項目手動創建,但整個項目依賴於引擎階段的寬度屬性。

對不起,文字的長牆,但我跑出來的想法在這裏...

是否有任何MXML或部分財產,我可以修改或一些嵌入戰術,我失去了獲得階段屬性設置爲其嵌入對象的寬度和高度?

+0

我無法理解。 「出於這個原因,所有運行的都使用stage.stageWidth屬性」在這種情況下,什麼是「一切」?它被使用的原因是什麼?你是如何動態設置stageWidth/stageHeight的?在Flex中,您通常不會直接觸摸舞臺。 – JeffryHouser

+0

它是一個「加載器引擎」項目,其設計僅適用於一件事和一件事:將swf文件加載(從XML文件引用),播放每個文件(一個接一個),並在活動的swf文件完成播放時將每個swf向左移動整個舞臺寬度的數量(以便它們可以重置回第1幀關閉屏幕,並且新的活動swf可以開始播放)。 當stage.stageWidth只報告500,那麼這意味着每個SWF僅由500偏移,並且它們僅移向左或向右的500 – RedactedProfile

+0

增量因此,當在嵌入標記或SwfObject的元素的寬度和高度是設置爲類似930x270的東西,引擎仍然只報告500px的寬度,所有東西(在這種情況下)開始重疊,你看到 – RedactedProfile

回答

2

嘗試設置如下:

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

而且使用的主要構造之外的方法來獲得stageHeight和stageWidth有時階段是不是「準備好」呢。

+0

啊完美!奇蹟般有效!謝謝! :D現在只需調整一些數學運算:D(我知道會有一種方法,只是沒有達到它的目的) – RedactedProfile