我試圖設置一個加載一個SWF到另一個SWF皮膚的概念驗證。的設立是這樣的:將一個帶有.as的SWF加載到另一個SWF中?
app.fla
,其具有附接的ActionScript類,AppMain.as
skin.fla
,其包含UI組件
AppMain.as
顯然會包含所有的應用程序的邏輯的;然後,我希望能夠根據該特定外觀中定義的實例名稱來影響加載的外觀文件中包含的UI組件。
因此,舉例來說,如果我有一個TextField
與myTextField
一個實例名稱,我想能夠設置文本字段的text
屬性通過在AppMain.as
。
導出app.swf
加載根據flashvar
參數皮膚文件將被加載到這個樣子的HTML文檔:
<html>
<head>
<title>Test</title>
</head>
<body>
<div id="swf"><!--//--></div>
<script src="jquery.js"></script>
<script src="swfobject.js"></script>
<script>
$(document).ready(function() {
$('#swf').flash({
swf: 'app.swf',
width: 550,
height: 400,
flashvars: {
skin: 'skin.swf'
}
});
});
</script>
</body>
</html>
這只是加載app.swf
到#swf
<div>
。任何關於如何將皮膚SWF文件導入我的主應用程序SWF的幫助將很感激。我目前有以下(不起作用)。
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.URLRequest;
public class AppMain extends MovieClip
{
public function AppMain()
{
var myLoader:Loader = new Loader();
self.addChild(myLoader);
var myRequest:URLRequest = new URLRequest('skin.swf');
myLoader.load(myRequest);
}
}
}
我試圖加載皮膚是,它有一個紅色的背景簡單,所以我可以看到,如果它被加載與否;它不像我輸出的HTML頁面仍然有白色背景。
我上面有錯誤嗎?在「編譯錯誤」選項卡下,Flash Professional CS5中的控制檯不會給我任何錯誤。
謝謝,塔馬斯。我會提出這些建議,並在這裏報告我的發現。 – 2011-05-25 12:59:45
有趣。正在加載皮膚SWF *。我將皮膚SWF的背景顏色設置爲紅色,但是當我添加一些文本(黃色)並且出現了黃色文本(儘管在白色背景上)時,它被加載時是透明的。 – 2011-05-25 13:03:07
如何在我的AppMain構造方法中拾取一個flashvar?我試過'this.loaderInfo.parameters.skin'來挑選一個名爲「skin」的flashvar,但這似乎不起作用。有任何想法嗎? – 2011-05-25 13:14:23