我想在flex中创建一个显示随机生成的swf的视图。 以下代码可以运行,但我的swf没有显示?如何解决这个问题?
$scope.iframeVisible
答案 0 :(得分:1)
在您发布的代码中,您有一些小错误:
random()
函数设置SWFLoader
对象的来源,则应返回SWF的URL,而不是将其用作参数。public function random():String { // ... return url; }
Loader
对象,可能是出于测试目的,但您不需要使用SWFLoader
对象。random()
功能),您可以使用:
<mx:SWFLoader width="480" height="320" id="loader1" source="{random()}"/>
<fx:Binding>
代码:
<fx:Binding
source="random()"
destination="loader1.source"
/>
<mx:SWFLoader width="480" height="320" id="loader1" source=""/>
所以你的最终代码可以是这样的:
<fx:Script>
<![CDATA[
public function random():String
{
var movieArray:Array = ['swf/maily_you', 'swf/maily_work', 'swf/maily_start'];
var loader:Loader = new Loader();
var index:int = movieArray.length * Math.random();
var url:String = movieArray[index] + '.swf';
return url;
}
]]>
</fx:Script>
<s:Panel width="100%" height="100%">
<mx:SWFLoader width="480" height="320" id="loader1" source="random()"/>
</s:Panel>
如需了解更多信息,请查看data binding。
希望可以提供帮助。