转载:http://www.blueidea.com/tech/multimedia/2004/1712_3.asp
Flash和Flash的通信
通过上面两种方法的混和使用,同一HTML中两个或者更多的Flash直接可以相互传送消息. 从一个flash使用fscommand传送消息给JavaScript,使用Flash的JavaScript methods把消息传给另外一个flash
详细的看这里:Flash影片之间的通信示例
从Flash MX开始,local connection对象可以用来在flash之间传送消息. 这使得同一HTML中的或者位于两个浏览器窗口中的两个flash影片可以相互发送消息,而不必使用JavaScript或者fscommand
详细的看这里:在Flash MX中使用local connection对象(英文)
本站的localConnection教程:http://www.blueidea.com/tech/multimedia/2003/739.asp
附可控制Flash Player的Javascript方法:
一览表:
Play() —————————————- 播放动画
StopPlay()————————————停止动画
IsPlaying()———————————– 动画是否正在播放
GotoFrame(frame_number)—————- 跳转到某帧
TotalFrames()——————————- 获取动画总帧数
CurrentFrame()——————————回传当前动画所在帧数-1
Rewind()————————————-使动画返回第一帧
SetZoomRect(left,top,right,buttom)——-放大指定区域
Zoom(percent)——————————改变动画大小
Pan(x_position,y_position,unit)————使动画在x,y方向上平移
PercentLoaded()—————————-返回动画被载入的百分比
LoadMovie(level_number,path)———– 加载动画
TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数
TGotoLabel(movie_clip,label_name)—— movie_clip跳转到指定标签
TCurrentFrame(movie_clip)————— 回传movie_clip当前帧-1
TCurrentLabel(movie_clip)—————–回传movie_clip当前标签
TPlay(movie_clip)—————————播放movie_clip
TStopPlay(movie_clip)———————-停止movie_clip的播放
GetVariable(variable_name)—————–获取变量
SetVariable(variable_name,value)———–变量赋值
TCallFrame(movie_clip,frame_number)—call指定帧上的action
TCallLabel(movie_clip,label)—————-call指定标签上的action
TGetProperty(movie_clip,property)——–获取movie_clip的指定属性
TSetProperty(movie_clip,property,number)-设置movie_clip的指定属性
在 flash mx 以后,由于一系列的安全问题,比如载入另一个站点的 flash文件,然后用javascript控制 flash 跳转到不同的帧,让一些 flash 编写者在安全防范上防不胜防。为此 macromedia 改进了 flash player 和一些交互接口。引入了安全沙箱的概念,也就是可以设置一个可以进行控制的站点列表。
当然在同一个域名下,可以不考虑这个安全沙箱的问题。
更详细的接口和用法还有安全限制,请查看下面的PDF文件
另外我再提供一个 flash4 时代最顶尖的闪客 Dean 利用 javascript 和 flash进行交互的例子,这可是当时,最最眩目的页面了,html和flash结合紧密,而且保证了和 netscape 的兼容。
点击查看 看看我们4年前的闪客,在做什么?
另外,我在今年也有类似的应用,大家可以查看 bt 的专栏动画部分 ,在打开一个flash动画弹出框时,为了不影响音乐杂乱,我关闭了主场景的音乐开关。关闭弹出框时,打开主场景的音乐开关,这点,也主要是依靠 javascript 来进行对 flash 的控制的。