Flash 与 Html、Xml 传参问题

这些天接到一个Flash的小程序。需要接收HTML和XML的参数。这方面我以前没做过,Flash代码也不太熟。只好上网求助,好在问这方面问题的人还不少。看了几位高人的文章,又经过实践,终于找到了答案。现在把这两天的收获总结一下,免得以后忘了。

1.与HTML交互
HTML中镶入Flash:

<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0″ width=”550″ height=”400″>
<param name=”movie” value=”1.swf?sedValue=123″>
<param name=”quality” value=”high”>
<embed src=”1.swf” quality=”high” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” width=”550″ height=”400″></embed>
</object>

传参的部分就在这一句中:
<param name=”movie” value=”1.swf?sedValue=123″>
“Value”值由两部分组成, “?” 前面的 “1.swf” 是Flash的地址。后面 “sedValue=123” 是Flash的参数。Flash加载时,这个值会被写入到 “_root” 里。下面是fla里的代码。

text1.text=_root.sedValue; //这里的sedValue 属性就是 “1.swf?sedValue=123” 中的参数 “sedValue”
s=_root.sedValue;
trace(s);

2.与XML交互
1.xml中的代码如下:

<?xml version=”1.0″ encoding=”utf-8″?>
<FlashText>
<Text1>223</Text1>
</FlashText>

fla中代码如下:

var myxml:XML = new XML();
myxml.ignoreWhite=true;//没有这句,读不到值
myxml.load(“1.xml”);
myxml.onLoad = function()
{
   s=myxml.firstChild.firstChild.firstChild.nodeValue; //第一个是<FlashText>,第二个是<Text1>,第三个是<Text1>中存值的结点,nodeValue是存值结点的结点值
   trace(s);
}

 

You may also like...

发表评论