控制 Flash Player 的 JavaScript 方法一览表

播放动画:Play()
  例:(网页中的 Flash id).Play();
停止动画:StopPlay()
动画是否正在播放:IsPlaying()
跳转到某帧:GotoFrame(frame_number)
获取动画总帧数:TotalFrames()
回传当前动画所在帧数:CurrentFrame()
使动画返回第一帧:Rewind()
放大指定区域:SetZoomRect(left,top,right,buttom)
改变动画大小:Zoom(percent)
使动画在 x,y 方向上平移:Pan(x_position,y_position,unit)
返回动画被载入的百分比:PercentLoaded()
加载动画:LoadMovie(level_number,path)
  例:(网页中的 Flash id).LoadMovie(0, "***/***.swf");
movie_clip 跳转到指定帧数:TGotoFrame(movie_clip,frame_number)
  例:(网页中的 Flash id).TGotoFrame("_root.实例名.次实例名",帧数);
movie_clip 跳转到指定标签:TGotoLabel(movie_clip,label_name)
  例:(网页中的 Flash id).TGotoLabel("_root.实例名.次实例名","标签名");
回传 movie_clip 当前帧:TCurrentFrame(movie_clip)
回传 movie_clip 当前标签:TCurrentLabel(movie_clip)
播放 movie_clip:TPlay(movie_clip)
停止 movie_clip 的播放:TStopPlay(movie_clip)
获取变量:GetVariable(variable_name)
变量赋值:SetVariable(variable_name,value)
call 指定帧上的 action:TCallFrame(movie_clip,frame_number)
call 指定标签上的 action:TCallLabel(movie_clip,label)
获取 movie_clip 的指定属性:TGetProperty(movie_clip,property)
设置 movie_clip 的指定属性:TSetProperty(movie_clip,property,number)


[size=x-large][color=darkred]flash调用js中的方法,让js传递变量给flash (兼容 IE & FF)[/color] [/size]
前几天发表了 将FlashVars写在JS函数中,实现与后台的实时变量更新,但是仅支持 IE,随后与 Luckyer 进行了交流,发现用 SetVariable 可以很方便的实现多浏览器兼容。举例如下。

html 页中的 JavaScript 函数:
function GetSwfUrl()
{
var pics1 = parseInt(Math.random()*5)+1;
var pics2 = parseInt(Math.random()*5)+1;
document.my_swfId.SetVariable("pic01Num", pics1);
document.my_swfId.SetVariable("pic02Num", pics2);
}

说明:pic01Num 和 pic02Num 为 Flash 中定义的变量,以上函数将 JS 变量 pics1 和 pics1 分别赋值予 Flash 变量 pic01Num 和 pic02Num 。my_swfId 为 html 页中 swf 的 id .

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

在 Flash 中与 JS 的通信可以用传统的 getURL,Flash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上与 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更灵活、更通用。推荐对 JavaScript 和 ActionScript 之间的通讯使用 ExternalInterface 。

getURL调用JS:
getURL("javascript:GetSwfUrl()");

ExternalInterface调用JS:
import flash.external.ExternalInterface;//导入 ExternalInterface 类
ExternalInterface.call("GetSwfUrl()");

注意:如果要使用 ExternalInterface,当前帧必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;


[size=x-large] [color=darkred]js调用flash中的方法,让flash传递变量给js[/color][/size]
本文为 ExternalInterface 的综合应用实例,重点为“将flash变量传递给js”。此方法兼容 IE & FF .

以下为JS:

//输出测试,通过v传递flash变量
function jsAlert(v) {
alert(v);
}
//调用flash中的方法,"my_mv"为html页中swf的id
function callExternal() {
thisMovie("my_mv").flAlert();
}
//搭建js与flash互通的环境
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}else{
return document[movieName]
}
}

以下为AS:

//导入ExternalInterface类
import flash.external.ExternalInterface;
//下面这个赋值一定要注意,如果是字符串,写法应该是在双引内再加单引,此前我郁闷了一天
var i:String = "’js调用flash中的方法,传递flash变量给js’";
//var i:Number = 1234;
function showAlert(){
//调用js方法jsAlert(),并将flash变量赋值给js
ExternalInterface.call("jsAlert("+i+")");
}
//允许js中的flAlert()调用flash中的showAlert()
ExternalInterface.addCallback("flAlert",null,showAlert);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值