当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 将FlashVars写在JS函数中,实现变量更新与后台同步

ActionScript
Flash as入门(9):控制时间轴
Flash as入门(10):影片剪辑的深度
Flash as入门(12):使用遮罩Mask
Flash as入门(13):用AS代码实现过渡
Flash as入门(14):用AS实现补间动画
Flash as入门(15):filters类滤镜
Flash as入门(16):用AS绘制各种图形
导入图片批量生成到顺序帧自动发布swf
Flash as入门(18):MC使用颜色
TypeError: Error #1009: 无法访问空对象引用的属性或方法
Flash CS4如何控制动画声音的停止和播放
Flash AS实例:神奇的数字魔术盒子
Flash as入门(19):日期和时间
介绍ActionScript开发环境Flex Builder
Flash AS3实例教程:制作火苗动画
AS3教程:制作任意放大缩小旋转的变形工具
Flash实例:动态产生元件实例并控制
Flash AS3教程:旋转一周的直线并显示其轨迹
Flash AS动画证明数学的勾股定理
AtionScrip 3.0制作雪花飘飘动画

ActionScript 中的 将FlashVars写在JS函数中,实现变量更新与后台同步


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 161 ::
收藏到网摘: n/a

定义 JS 函数,例如名为 GetSwfUrl():

<script type="text/javascript">
function GetSwfUrl()
{
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2;
}
</script>

html 中 Flash 段:
<param name="FlashVars" value="">

在 AS 中用 getURL("javascript:GetSwfUrl()") 即可实现与后台的实时数据更新。只是此方法在 FF 下不能兼容,不知道 myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2 这样的写法是不是不合 FF 标准,还请有经验的朋友不吝指教。

***************

然而以下的方法将 FlashVars 参数直接写在 Flash 代码段内却可以实现多浏览器兼容。

JS 部分:
<script type="text/javascript">
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
</script>

Flash 段:
<param name="FlashVars" value="pic01Num='+pics1+'&pic02Num='+pics2+'">
<embed FlashVars="pic01Num='+pics1+'&pic02Num='+pics2+'">

或直接赋值:
<param name="FlashVars" value="pic01Num=3&pic02Num=5">
<embed FlashVars="pic01Num=3&pic02Num=5">

***************

另外,将变量写在 .swf 后面用 ? 连接也可以实现多浏览器兼容。"