SWFObject-FlashObject详解
- 格式:doc
- 大小:38.00 KB
- 文档页数:3
使用swf反编译软件编辑flash影片硕思闪客精灵是一款先进的swf反编译软件,它能捕捉、反编译、查看和提取Flash。
最新版的闪客精灵不仅仅是一款swf反编译软件,还是一款swf编辑软件,增加“编辑”功能,可以对swf影片进行修改,替换资源,轻松反编译一个或是多个swf格式文件为fla/flex项目文件和html5文件。
硕思闪客精灵swf反编译软件支持Flash 6,Flash MX 2004,Flash 8,Flash CS3,Flash CS4和Flash CS5。
它能恢复fla/flex项目文件,反编译Flash的所有元素,包括:矢量图,声音,图片,片段,字体,文本,脚本等。
支持动作脚本AS3.0。
使用闪客精灵swf反编译软件的专业版你可以在任意一个Flash中提取您想要的文字、图片、效果等等。
一起来认识一下swf反编译软件闪客精灵的界面吧。
在界面的上方是菜单栏,在‘文件’标签的‘导出’选项中,可以选择反编译swf文件的类型:fla/flex、html5、导出资源三类;左侧是资源管理器窗格,跟windows资源管理器很像,方便了swf文件的导入操作;中间是swf的预览窗口,可以预览在左侧选中的swf文件;右侧是swf文件的导出窗格,可以导出单个文件,也可以批量的导出文件。
在导出面板的下方显示的是swf文件的所有元素,可以编辑其中的任意元素,可以替换图片、更改文字等等。
反编译后,可以选择保存覆盖原文件,也可以选择另存为生成新的文件。
其中,‘工具’标签下,提供了exe-swf转换器,可以轻松提取exe文件中的swf文件。
在闪客精灵安装成功后,您浏览器的工具栏自动安装闪客精灵的辅助工具——闪客名捕。
在您浏览网页时,点击它,能够捕捉到网页上所有的flash,可以选择想要的或将网页上全部的flash轻松保存在本地。
综上所述,硕思闪客精灵:可以反编译出fla/flex格式文件、html5格式文件并将其资源导出;可以单个文件导出以及批量导出;可以直接编辑swf文件中的所有元素;可以提取exe文件中的swf文件;可以在网页上直接捕捉swf文件。
SWFObject使用文档为什么你应该使用SWFObject?一篇A List Apart上的文章Flash Embedding Cage Match描述了SWFObject v2.0背后的基本原理,以及为什么它比其他可用的Flash嵌入方式更好。
怎样使用SWFObject?SWFObject提供了两种嵌入Flash内容的方法:1.用符合标准的标签来嵌入Flash内容和替换内容(译者注:替换内容指Flash插件没有安装时需要显示的内容),并且用JavaScript来解决使用标签嵌入时出现的一些问题(这种方法也被称之为静态发表(static publishing))。
2.使用标准的标签插入替换内容,并用unobtrusive(译者注:这个词的翻译争议比较大,暂且不译,可以理解为低调的、不唐突的)的 JavaScript 来嵌入Flash内容(与以前版本的SWFObject以及UFO很相似,这种方法也被称之为动态发表(dynamic publishing))。
与第二种方法相比,第一种方法的优势在于:1.能促进符合标准标签的创作。
(The actual authoring of standardscompliant markup is promoted.)2.插入Flash内容的机制不再依赖于JavaScript,所以这种方法适当的“降级”了。
o如果你安装了Flash插件,但是JavaScript被禁用了或者浏览器并不支持JavaScript,你仍然能够看到你的Flash内容。
o Flash将能够在那些对JavaScript支持较弱的设备上运行,例如Sony PSP。
o像RSS阅读器这样的自动化的工具能够读取Flash内容。
与第一种方法相比,第二种方法的优势在于:1.更容易被编写和维护,因为它显得更简洁,没有包含多余的代码。
2.避免了通过“点击激活”的机制来激活Internet Explorer 6+和Opera 9+中的Flash内容。
使用js嵌入,如SWFObjectSWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。
该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。
它使得插入Flash媒体资源尽量简捷、安全。
而且它是非常符合搜索引擎优化的原则的。
此外,它能够避免您的HTML、XHTML中出现object、embed 等非标准标签,从而符合更加标准。
下面是一个最简单的范例,其中DIV结点内的所有内容都会在客户端被Flash资源替换<script type="text/javascript" src="swfobject.js"></script><div id="flashcontent">This text is replaced by the Flash movie.</div><script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.write("flashcontent");</script>下面是SWFObject.js内容复制新建个txt 改下后缀就能用*** SWFObject v1.4.4: Flash Player detection and embed - /swfobject/ ** SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:* /licenses/mit-license.php** **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for* legal reasons.*/if(typeofdeconcept=="undefined"){vardeconcept=new Object();}if(typeofdeconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();} deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){ret urn;}this.DETECT_KEY=_b?_b:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",newdeconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(c){this.addParam("bgcolor",c);}var q=_8?_8:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",_7);this.setAttribute("doExpressInstall",false);var _d=(_9)?_9:window.location;this.setAttribute("xiRedirectUrl",_d);this.setAttribute("redirectUrl","");if(_a){this.setAttribute("redirectUrl",_a);}};deconcept.SWFObject.prototype={setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){returnthis.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){returnthis.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){returnthis.variables[_15];},getVariables:function(){returnthis.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16.push(key+"="+_18[key]);}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}_19="<object id=\""+this.getAttribute("id")+"\"classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";} return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("versio n"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getA ttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirec tUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=newdeconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,"." ).split("."));}}else{try{varaxo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{varaxo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}return _23;};deconcept.PlayerVersion=function(_27){this.major=_27[0]!=null?parseInt(_27[0]):0;this.minor=_27[1]!=null?parseInt(_27[1]):0;this.rev=_27[2]!=null?parseInt(_27[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_29){var q=document.location.search||document.location.hash;if(q){var _2b=q.substring(1).split("&");for(var i=0;i<_2b.length;i++){if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){return _2b[i].substring((_2b[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;} var _2d=document.getElementsByTagName("OBJECT");for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};if(typeofwindow.onunload=="function"){var _30=window.onunload;window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();_30();};}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};if(typeofwindow.onbeforeunload=="function"){varoldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){deconcept.SWFObjectUtil.prepUnload();oldBeforeUnload();};}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}if(Array.prototype.push==null){Array.prototype.push=function(_31){this[this.length]=_31;returnthis.length;};}vargetQueryParamValue=deconcept.util.getRequestParameter;varFlashObject=deconcept.SWFObject;varSWFObject=deconcept.SWFObject;。
Flash中的对象与对象嵌套理解Flash中的对象以及对象的组织方式,是学好Flash动画以及Flash程序的非常重要的不可绕过的部分。
一、F lash中的对象可以这么说,Flash中的任何元素都是对象。
我们应该使用面向对象的方法来使用和组织Flash中的各种元素,以便实现各种动画以及程序。
Flash对象包括:1.初级对象:初级对象,是指没有任何层次套封的图形内容。
所谓的套封,是指对图形进行组合,转化为元件等等的操作。
用flash工具绘制出来的图形都是初级对象,导入的位图是一个位图对象,进行“转化为矢量”操作后也成为初级对象。
初级对象可以进行非常自由的修改,可以选择其中的一部分进行修改,也可以作为一个整体进行修改。
初级对象总在图层的最下面,所以初级对象不能叠加。
2.绘制对象:兼具初级对象的编辑性能和组合对象的层次关系。
是Flash8开始引入的概念。
它可以直接进行基于初级对象的各种编辑操作,同时又可以相互叠加而不会相互干扰。
3.4.组合对象:把初级对象进行组合命令就成为组合对象,事实上,可以把任何图形元素组合。
如把多个组合组合成一个组合,甚至把元件对象组合在一起。
组合对象将作为一个整体进行操作。
组合的属性修改不影响组合内部的属性,同样,组合内部的属性的修改不影响组合的属性。
5.元件对象:通过转化为元件(convert to symbol)命令,可以把图形元素转化为元件对象。
元件对象,是包含时间轴以及其上的动画,动作脚本(action script),声音属性的对象,它包含了flash里所有的可以包含的内容。
元件对象又细分为三种类型:电影剪辑、按钮、图形。
三者分别具备各自的特点。
是Flash内建的重要的动画对象。
6.ActionSript中的对象可以使用action建立各种对象,如颜色对象,数组对象,时间对象,电影剪辑对象等等,这些对象和属性的使用,使得flash就像是一种功能强大的,简单的,面向对象的编程语言。
FLASH播放器控件相关属性和方法说明.==================================++++++++++++++++++++++++++++++++++属性++++++++++++++++++++++++++++++++++语法:AlignMode As Long说明:对齐方式(与SAlign属性联动).当控件的长宽比例与影片不一致且WMode不为ExactFit 时,影片在控件中显示的位置可用该属性调整.属性值与相应的对齐方式:1:左对齐2:右对齐4:顶对齐8:底对齐注意:也可以组合各种对齐方式,就是将这四个基本值组合相加.比如同时左对齐和顶对齐,属性值则设为5.语法:BackgroundColor As Long说明:影片的背景色.默认的影片背景色为-1.如果影片设置了底色或有图片当作背景,那么看不出来该属性值的改变会有什么影响。
注意:颜色值使用RGB格式的颜色值语法:Base As String说明:指定用于解决影片中所有相对路径的声明的基地址.当影片与其需要的其他文件不在同一目录中的时候该属性特别有用.如不特别指定,Base的值默认为".",也就是当前影片所在的路径.语法:BGColor As String说明:影片的背景色.与BackgroundColor不同的是,BGColor是一个六位的十六进制数,每两位分别代表红绿蓝颜色值.如:FFEEAA表示R值为FF,G值为EE,B值为AA.语法:DeviceFont As Boolean说明:决定是否使用影片内嵌的字体,默认值为False.将该属性值设为True则强制播放器不使用影片中内嵌的字体而使用本地系统字体.语法:EmbedMovie As Boolean说明:影片是否被存贮到控件所在的容器中.当你已载入一个影片后将该属性设为True,播放影片时就不必再去读取SWF文件了.这样可以使SWF文件镶进程序中,不必再读取文件.但将该属性设为True后,控件的Movie属性就不再接受新的值了.要想播放另一个影片(给Movie 属性赋新值),必须先将该属性(EmbedMovie)设为False.语法:FrameNum As Long说明:影片当前帧的编号(从0开始计数).设置该属性值将使影片停在由FrameNum指定的帧处.注意:不仅可以从中获得当前帧,还可以设置当前帧,即跳转到某帧语法:Loop As Boolean说明:控制影片是否循环播放.设为True就是循环播放,设为False则只播放一次.语法:Menu As Boolean说明:是否显示菜单.设为True显示所有菜单,设为False菜单被屏蔽,但仍有一项"About Macromedia Flash Player...",点击后会打开Macromedia的网站.如果你实在不喜欢这个菜单,应该在程序中通过拦截鼠标消息的方法来达到目的.语法:Movie As String说明:要播放的影片路径(URL).设置该属性为一个SWF文件的URL,当该属性被设置后,控件将自动载入文件并播放它.语法:Playing As Boolean说明:当前播放状态.如果影片正在播放,该属性值为True,否则为False.语法:Quality As Long说明:画面质量.Quality的属性可以取:0:相当于Quality2取"Low"1:相当于Quality2取"High"2:相当于Quality2取"AutoLow"3:相当于Quality2取"AutoHigh"语法:Quality2 As String说明:画面质量Quality的属性可以取:Low:偏重于播放速度而不管显示效果,而且不启用消除锯齿功能.High:偏重于画面而不管播放速度,并且总是启用消除锯齿功能.如果影片中不包含动画就平滑处理位图;如果有动画,那么位图就不被平滑处理.AutoLow:先着重于播放速度,但只要有可能就改善显示效果.一开始播放时先禁用消除锯齿功能.如果播放器检测到处理器能承受得了,就启用消除锯齿功能.AutoHigh:一开始是播放速度和显示效果并重,但如有必要就牺牲画质确保速度.开始播放时就启用消除锯齿功能.但如果实际的帧速率比设计时指定的速率慢了,就禁用消除锯齿功能来提高播放速度.语法:ReadyState As Long说明:影片的当前状态.ReadyState的值有:0:正在载入1:未初始化2:已载入3:正在交互4:完成例子注意:可以使用该属性来粗略的判断SWF文件的读取进度,但如果想得到更精确的判断,应该在在SWF文件中使用FScommand()来达到与VB的互动与联系,即传送资料给VB.语法:SAlign As String说明:对齐模式.与上文的AlignMode相同,但值的形式不同罢了.可取值:L:即左对齐T:即顶对齐R:即右对齐B:即底对齐注意:当使用组合对齐方法是L,T,R,B的先后顺序不能变,如:左和底的对齐:SAlign="LB"语法:Scale As String说明:控制影片的缩放模式.Scale的值可以取:ShowAll:在控件内显示全部影片区域,保持影片长宽比例不变,影片的大小决定于控件长或宽中较小的一边.NoBorder:在控件内显示部分影片区域,保持影片长宽比例不变,影片的大小决定于控件长或宽中较大的一边.ExactFit:在控件内显示全部影片区域,不考虑影片的长宽比例,强制将影片的长宽等于控件的长宽.语法:ScaleMode As Long说明:缩放模式,与Scale相同,只不过属性值为数字而已.ScaleMode可以取:0:相当于Scale取"ShowAll"1:相当于Scale取"NoBorder"2:相当于Scale取"ExactFit"语法:TotalFrames As Long说明:返回影片中总帧数.该参数要到影片载入完成才有效,即ReadyState=4语法:WMode As String说明:控件的窗口模式(实现矢量图在VB界面显示的重要属性).WMode可以取:Window:WMode属性的默认值,按Flash播放器典型的方式工作,即在控件的矩形窗口中播放影片,这样一般都能提供最快的动画效果.Opaque:使影片不透明.Transparent:创建一个透明的影片,如果影片中有透明的片段时,就可以看到控件下面的背景.但使用此属性值,动画的播放速度可能会慢一些.++++++++++++++++++++++++++++++++++方法++++++++++++++++++++++++++++++++++语法:Back()说明:影片后退一帧,并且停止播放.语法:Forward()说明:影片前进一帧并且停止播放例子.语法:GotoFrame(FrameNum)说明:将影片跳转到指定的帧,并且停止播放.如果所指定的帧还未载入,在调用过程中会产生无法预料的后果,最好使用PercentLoaded方法来确定是否已载入足够的影片来执行本方法.参数FrameNum是从0开始算的,这和Flash中的Goto动作不一样,Goto是从1开始算的.语法:LoadMovie(layer As Long, url As String)说明:将由url指定的影片载入到由layer指定的层上.语法:Pan(x As Long, y As Long, mode As Long)说明:将一个放大过的影片平移由x和y指定的距离,x和y均为相对值,即控件相对于影片来说平移的距离.用mode参数来指定x和y的值是像素还是窗口的百分比,当mode=0时坐标系以像素为单位;mode=1时坐标系就以窗口的百分比来计算.平移并不能超出影片的边框,也就是说,往一个方向平移最多到达影片的边缘与控件对齐的程度.语法:Play()说明:开始播放影片.语法:Rewind()说明: 倒带,返回到影片的第一帧.语法:SetVariable(name As String, value As String)说明:将由name指定的Flash变量值设为value(即通过VB传送数据给影片).例子:movie.SetVariable "/Form:UserName", "SYFY"此外,可以将通过SWF控件来加载png按钮,这对于制作图片按钮是很有帮助的。
Flash OBJECT和EMBED标签详解Flash OBJECT和EMBED标签一、介绍:我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。
也就是OBJECT和EMBED标签。
OBJECT标签是用于windows平台的IE浏览器的,而EMBED 是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。
windows平台的IE利用Activex控件来播放flash而其它的浏览器则使用Netscape插件技术来播放flash。
下面是简单的网页中插入flash的代码示例:Code:<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="/pub/shockwave/cabs/flash/swflash.cab#ver sion=6,0,40,0"WIDTH="550" HEIGHT="400" id="myMovieName"><PARAM NAME=movie VALUE="myFlashMovie.swf"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF><EMBED src="/"/support/flash/ts/documents/myFlashMovie.swf"" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="/go/getflashplayer"></EMBED></OBJECT>二、为什么要使用以上全部的标签?能省略某些标签不?OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器。
主要内容:∙ 1 . 什么是SWFObject 2.0?∙ 2 . 为什么你应该使用SWFObject 2.0?∙ 3 . 为什么SWFObject 2.0使用JavaScript?∙ 4 . 我们应该使用静态发表还是动态发表的方法?∙ 5 . 怎样用SWFObject 2.0的静态发表方法来嵌入Flash内容o5-1 . 第一步:用符合标准的标签同时嵌入Flash内容和替换内容o5-2 . 第二步:在HTML的head标签中包括SWFObject的JavaScript 类库o5-3 . 第三步:用SWFObject类库注册你的Flash内容并告诉SWFObject 怎么样处理这些内容∙ 6 . 怎样用SWFObject 2.0的动态发表方法来嵌入Flash内容?o6-1 . 第一步:用符合标准的标签创建替换内容o6-2 . 第二步:在HTML页面的head标签中包括SWFObject JavaScript 类库o6-3 . 第三步:用JavaScript嵌入你的SWF∙7 . 从SWFObject 1.5迁移到SWFObject 2.0的注意事项∙8 . 从UFO迁移到SWFObject v2.0的注意事项∙9 . SWFObject支持MIME类型application/xhtml+xml吗?∙10 . 评论政策1 . 什么是SWFObject 2.0?SWFObject 2.0:▪提供两种优化的嵌入Flash Player的方法:一种基于标签的方法和一种依赖于JavaScript的方法。
▪提供一套JavaScript API,目的是提供一套完整的工具来嵌入SWF文件和获得Flash Player的相关信息。
[ /p/swfobject/wiki/SWFObject_2_0_api_javascript_dev ]▪只利用一个很小的JavaScript文件(size: 8.7Kb, GZIPed: 3.4Kb)。
flash组件详解ButtonButton 组件是一个可调整大小的矩形用户界面按钮。
可以给按钮添加一个自定义图标。
也可以将按钮的行为从按下改为切换。
在单击切换按钮后,它将保持按下状态,直到再次单击时才会返回到弹起状态。
icon为按钮添加自定义图标。
该值是库中影片剪辑或图形元件的链接标识符;没有默认值。
label 设置按钮上文本的值;默认值是"Button"。
labelPlacement确定按钮上的标签文本相对于图标的方向。
该参数可以是下列四个值之一:left、right、top 或bottom;默认值为 right。
selected 如果 toggle 参数的值是 true,则该参数指定按钮是处于按下状态 (true) 还是释放状态 (false)。
默认值为 false。
toggle 将按钮转变为切换开关。
如果值为true,则按钮在单击后保持按下状态,并在再次单击时返回到弹起状态。
如果值为 false,则按钮行为与一般按钮相同。
默认值为 false。
enabled 是一个布尔值,它指示组件是否可以接收焦点和输入。
默认值为 true。
visible 是一个布尔值,它指示对象是 (true) 否 (false) 可见。
默认值为 true。
__________________________________ScrollPaneScrollPane 组件在一个可滚动区域中显示影片剪辑、JPEG 文件和SWF 文件。
通过使用滚动窗格,可以限制这些媒体类型所占用的屏幕区域的大小。
滚动窗格可以显示从本地磁盘或 Internet 加载的内容。
contentPath 指示要加载到滚动窗格中的内容。
该值可以是本地SWF 或 JPEG 文件的相对路径,或 Internet 上的文件的相对或绝对路径。
它也可以是设置为"为 ActionScript 导出"的库中的影片剪辑元件的链接标识符。
Flash 知识点总结 ( 一 )进行创作的主要工作区域。
由一系列的帧组成,每一帧是一幅瞬时图。
分为:图层控制区和时间轴控制区。
时间线是通过时间变化精确控制图层在每一秒的位置的工具。
默认 12 帧/秒。
Fps(framepersecond)主要绘图工具设置对象属性编写动作脚本如:库窗口:用于存放重复元素。
在时间轴的不同帧上放置不同的对象或设置同一对象的不同属性,例如形状、位置、大小、颜色和透明度等,当播放指针在这些帧之间移动时,便形成了动画。
是组成 Flash 动画的基本元素。
制作动画时,可利用 Flash 的工具箱提供的工具绘制出动画需要的任何图形。
是指可以在动画场景中反复使用的一种动画元素。
它可以是一个图形,也可以是一个小动画,或者是一个按钮。
图层就像好多透明的纸,用户可以在不同的纸上绘制各种图画,然后再将所有的纸叠在一起就构成了一幅完整的图画。
位于下层的图形将在上层中空白或者透明的地方显示出来。
帧分为关键帧、空白关键帧和普通帧三种类型。
, 记录动画内容发生根本性变化的画面。
只要关键帧才能进行编辑。
F6:插入关键帧。
插入关键帧时将上一状态的帧内容完全复制。
每秒钟播放的帧数,默认 12fps 一般认为是网页上最合适的速度。
Flash 知识点总结 (二)就像电影院放电影,每秒钟播放固定的胶片数,每张胶片都单独制作,最后连在一起播放,达到动画效果。
F6 插入关键帧,调整每帧图像,使得每相邻两帧有所区别通过设置首尾两关键帧的对象属性,让系统自动生成中间的“补间”。
a.位置变化(小球运动)b.透明度变化(元件)c.大小变化(文字)d.角度变化-旋转(文字)e.色彩变化。
(元件,通过色调,亮度等设置)运动的起始帧作图→起始帧时间轴处右键单击并选择“创建补间动画” →在运动的结束帧按 F6 键→调整结束帧或起始帧中的图形的大小、位置、透明度、亮度、色调、旋转角度等。
a.运动的对象必须为组合的图形。
b.运动的对象必须单占一层。
Flash模块考点总结与知识分解考纲要求知识点总结及分解一、Flash 简介Flash 是由Macromedia 公司推出的交互式矢量图和Web 动画的标准, 由Adobe 公司收购。
做Flash 动画的人被称之为闪客。
网页设计者使用Flsh 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
Flash 是基于矢量图形的设计软件, 在软件中绘制的线和面都是矢量图。
矢量图的特点就是放大后图像不失直,不像位图那样放大后产生马赛克现象。
目前考试用版本为Flash 8.0。
Fash 8的界面主要有工具栏、菜单栏、工作区、属性面板、时间轴、浮动面板、库等组成。
二、flash 基本概念1.时间轴:时间轴用于组织和控制文档内容在一定时间内播放的图层数和帧数。
位于舞台上方,菜单栏下方。
左边为图层控制区,可以添加、删除、移动、重命名图层,右边为帧控制区,提供对帧的控制操作,红色的竖线为“游标”, 用来通知Flash 显示图形和其他项目元素的时间。
2.舞台:也就是工作区,也叫做场景,位于中央,一般考查设置它的大小(属性面板中的大小)。
3.帧:影响动画中最小单位的单幅影像画面,连续的帧就形成了动画。
帧的操作时间轴 舞台 库 图层面板 工具箱属性面板菜单栏一般右击可完成,如插人帧,删除帧等。
4.普通帧:没有标志和显示的,本身不含任何内容,只是作为前一个关键帧内容的延续。
5.关键帧:帧控制区中显示的,有内容的,作为控制动画变化的关键画面所在。
关键帧在时间轴上显示为实心圆点。
6.空白关键帧:帧控制区中显示的,不含内容,但为以后添加内容做好准备。
空白关键帧在时间轴上显示为空心的圆点。
空白关键帧关键帧普通帧7.帧频:每秒钟播放的帧数,默认为12帧/秒,考试中要求设置帧频是从舞台下方的属性面板设置。
帧频越高,单位时间内帧的数量就越多,相应的细节就会更丰富,动画就会更流畅,帧频太低了,动画就会出现卡顿的现象。
8.图层:就像一张张透明的纸叠在一起,在上面的纸上画不透明的物体可以遮住下面图层上的物体,图层体现了一种前后的空间关系。
FLASH常用函数命令用法一览表Fl1gotoAndPlay(s c ene, frame)参数s c ene 播放头将转到的场景的名称frame 播放头将转到的帧的编号或标签说明动作;将播放头转到场景中指定的帧并从该帧开始播放如果未指定场景,则播放头将转到当前场景中的指定帧示例当用户点击gotoAndPlay 动作所分配到的按钮时,播放头将转到第16 帧并开始播放on(release) {gotoAndPlay(16);}2gotoAndStop(s c ene, frame)参数s c ene 播放头将转到的场景的名称frame 播放头将转到的帧的编号或标签说明动作;将播放头转到场景中指定的帧并停止播放如果未指定场景,则播放头将转到当前场景中的帧示例当用户点击gotoAndStop 动作所分配到的按钮时,播放头将转到第5 帧并且影片停止播放on(release) {gotoAndStop(5);}3on(mouse Event) {statement(s);}参数statement(s) 发生mouse Event 时要执行的指令mouse Event 是称作事件的触发器当发生此事件时,执行事件后面花括号中的语句可以为mouse Event 参数指定下面的任何值:- press 在鼠标指针经过按钮时按下鼠标按钮- release 在鼠标指针经过按钮时释放鼠标按钮- release Outside 当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮- rollout 鼠标指针滑出按钮区域- rollover 鼠标指针滑过按钮- dragOut 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域- dragOver 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮- keyPress (key) 按下指定的key此参数的key 部分可使用使用Flash的附录B键盘键和键控代码值中所列的任何键控代码进行指定,或者使用Key 对象的属性摘要中列出的任何键常量进行指定说明事件处理函数;指定触发动作的鼠标事件或者按键事件示例在下面的脚本中,当按下鼠标按钮时,执行start Drag 动作,当释放鼠标按钮时,执行条件脚本,并放下该对象on(press) {startDrag("rabbit");}on(release) {tra c e(_root.rabbit._y);tra c e(_root.rabbit._x);stopDrag();}4fs c ommand("c ommand", "parameters")参数c ommand 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给独立Flash Player 的命令parameters 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给Flash Player 的值说明动作;使Flash影片能够与Flash Player 或承载Flash Player 的程序(如Web 浏览器)进行通讯还可使用fs c ommand 动作将消息传递给Ma c romedia Dire c tor,或者传递给Visual Basi cVisual C++ 和其他可承载A c tiveX 控件的程序用法1:若要将消息发送给Flash Player,必须使用预定义的命令和参数用法2:若要在Web 浏览器中使用fs c ommand 动作将消息发送到脚本撰写语言(如JavaS c ript),可以在c ommand 和parameters 参数中传递任意两个参数这些参数可以是字符串或表达式,在捕捉或处理fs c ommand 动作的JavaS c ript 函数中使用这些参数在Web 浏览器中,fs c ommand 动作在包含Flash影片的HTML 页中调用JavaS c ript 函数moviename_DoFS c ommandmoviename 是Flash Player 影片的名称,该名称由EMBED 标签的NAME 属性指定,或由OBJE C T 标签的ID 属性指定如果为Flash Player 影片分配名称myMovie,则调用的JavaS c ript 函数为myMovie_DoFS c ommand用法3:fs c ommand 动作可将消息发送给Ma c romedia Dire c tor,Lingo 将消息解释为字符串事件或可执行的Lingo 代码如果该消息为字符串或事件,则必须编写Lingo 代码以便从fs c ommand 动作接收该消息,并在Dire c tor 中执行动作有关更多信息,请访问Dire c tor 支持中心(Dire c tor Support C enter)用法4:在Visual Basi cVisual C++ 和可承载A c tiveX 控件的其他程序中,fs c ommand 利用可在环境的编程语言中处理的两个字符串发送VB 事件有关更多信息,请使用关键字Flash method 搜索Flash 支持中心(Flash Support C enter)示例用法1:在下面的示例中,fs c ommand 动作设置Flash Player,以便在释放按钮时,将影片缩放到整个显示器屏幕大小on(release){fs c ommand("fulls c reen", true);}用法2:下面的示例使用应用到Flash中按钮的fs c ommand 动作打开HTML 页中的JavaS c ript 消息框消息本身作为fs c ommand 参数发送到JavaS c ript必须将一个函数添加到包含Flash影片的HTML 页此函数myMovie_DoFS C ommand 位于HTML 页中,等待Flash中的fs c ommand 动作当在Flash中触发fs c ommand 后(例如,当用户按下按钮时),c ommand 和parameter 字符串被传递到myMovie_DoFS C ommand 函数可以在JavaS c ript 或VBS c ript 代码中以任何需要的方式使用所传递的字符串在此示例中,该函数包含一个条件if 语句,该语句检查命令字符串是否为messagebox如果是,则JavaS c ript 警告框(或message box)打开并显示parameters 字符串的内容fun c tion myMovie_DoFS C ommand(c ommand, args) {if (c ommand == "messagebox") {alert(args);}}在Flash文档中,将fs c ommand 动作添加到按钮:fs c ommand("messagebox", "This is a message box c alled from within Flash.")也可以为fs c ommand 动作和参数使用表达式,如下面的示例所示:fs c ommand("messagebox", "Hello, " + name + ", wel c ome to our Web site!")若要测试影片,请选择文件>发布预览>HTML如果在HTML发布设置中使用具有FS C ommand 模板的Flash发布影片,则自动插入myMovie_DoFS C ommand 函数该影片的NAME 和ID 属性将是其文件名例如,对于文件myMovie.fla,该属性将设置为myMovie5getURL(url [, window [, "variables"]])参数url 可从该处获取文档的URLwindow 一个可选参数,指定文档应加载到其中的窗口或HTML 框架您可输入特定窗口的名称,或从下面的保留目标名称中选择:- _self 指定当前窗口中的当前框架- _blank 指定一个新窗口- _parent 指定当前框架的父级- _top 指定当前窗口中的顶级框架variables 用于发送变量的GET 或POST 方法如果没有变量,则省略此参数GET方法将变量追加到URL 的末尾,该方法用于发送少量变量POST 方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串说明动作;将来自特定URL 的文档加载到窗口中,或将变量传递到位于所定义URL 的另一个应用程序若要测试此动作,请确保要加载的文件位于指定的位置若要使用绝对URL(例如,),则需要网络连接示例此示例将一个新URL 加载到空浏览器窗口中getURL 动作将变量in c omingAd 作为url 参数的目标,这样您无需编辑Flash影片即可更改加载的URL在这之前,在影片中使用load Variables 动作将in c oming Ad 变量的值传递到Flash中on(release) {getURL(in c omingAd, "_blank");}6loadMovie("url",level/target[, variables])参数url 要加载的SWF 文件或JPEG 文件的绝对或相对URL相对路径必须相对于级别0 处的SWF 文件该URL 必须与影片当前驻留的URL 在同一子域为了在Flash Player 中使用SWF 文件或在Flash 创作应用程序的测试模式下测试SWF 文件,必须将所有的SWF 文件存储在同一文件夹中,而且其文件名不能包含文件夹或磁盘驱动器说明target 指向目标影片剪辑的路径目标影片剪辑将替换为加载的影片或图像只能指定target 影片剪辑或目标影片的level 这两者之一;而不能同时指定两者level 一个整数,指定Flash Player 中影片将被加载到的级别在将影片或图像加载到级别时,标准模式下动作面板中的loadMovie 动作将切换为loadMovieNum;在专家模式下,您必须指定loadMovieNum 或从动作工具箱中选择它variables 一个可选参数,指定发送变量所使用的HTTP 方法该参数须是字符串GET 或POST如没有要发送的变量,则省略此参数GET 方法将变量追加到URL 的末尾,该方法用于发送少量变量POST 方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串说明动作;在播放原始影片的同时将SWF 或JPEG 文件加载到Flash Player 中loadMovie 动作使您可以同时显示几个影片,并且无需加载另一个HTML 文档就可在影片之间切换如果不使用loadMovie 动作,则Flash Player 显示单个影片(SWF 文件),然后关闭当使用loadMovie 动作时,必须指定Flash Player 中影片将加载到的级别或目标影片剪辑如果指定级别,则该动作变成loadMovieNum如果影片加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的影片加载到目标的影片或图像会继承目标影片剪辑的位置旋转和缩放属性加载的图像或影片的左上角与目标影片剪辑的注册点对齐另一种情况是,如果目标为_root 时间轴,则该图像或影片的左上角与舞台的左上角对齐使用unloadMovie 动作可删除使用loadMovie 动作加载的影片示例下面的loadMovie 语句附加到标签为Produ c ts 的导航按钮在舞台上有一个实例名称为dropZone 的不可见影片剪辑load Movie 动作使用此影片剪辑作为目标参数将SWF 文件形式的产品加载到舞台上的正确位置on(release) {loadMovie("produ c ts.swf",_root.dropZone);}下面的示例从目录中加载一个JPEG 图像,该目录与调用load Movie 动作的SWF 文件的目录相同:load Movie("image45.jpeg", "ourMovie C lip");7loadMovieNum("url",level[, variables])参数url 要加载的SWF 或JPEG 文件的绝对或相对URL相对路径必须相对于级别0 处的SWF 文件该URL 必须与影片当前驻留的URL 在同一子域为了在独立的Flash Player 中使用SWF 文件或在Flash创作应用程序的测试影片模式下测试SWF 文件,必须将所有的SWF 文件存储在同一文件夹中,并且其文件名不能包含文件夹或磁盘驱动器说明level 一个整数,指定Flash Player 中影片将被加载到的级别variables 一个可选参数,指定发送变量所使用的HTTP 方法该参数必须是字符串GET 或POST如果没有要发送的变量,则省略此参数GET 方法将变量追加到URL 的末尾,该方法用于发送少量变量POST 方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串说明动作;在播放原来加载的影片的同时将SWF 或JPEG 文件加载到Flash Player 中的某个级别在将影片加载到级别而不是目标时,标准模式下动作面板中的loadMovie 动作将切换为loadMovieNum;在专家模式下,您必须指定loadMovieNum 或从动作工具箱中选择它一般情况下,Flash Player 显示单个影片(SWF 文件),然后关闭loadMovieNum 动作使您可以同时显示几个影片,并且无需加载另一个HTML文档就可在影片之间切换Flash Player 具有从级别0 开始的级别堆叠顺序这些级别类似于醋酸纤维层;除了每个级别上的对象之外,它们是透明的当使用loadMovieNum 动作时,必须指定Flash Player 中影片将加载到的级别在影片加载到级别后,即可使用语法_levelN 来定位影片,其中N 为级别号当加载影片时,可指定任何级别号,并且可将影片加载到已加载有SWF 文件的级别如果执行此动作,则新影片将替换现有的SWF 文件如果将影片加载到级别0,则Flash Player 中的每个级别均被卸载,并且级别0 将替换为该新文件处于级别0 的影片为所有其他加载的影片设置帧频背景色和帧的大小loadMovieNum 动作也允许您在播放影片时将JPEG 文件加载到影片中对于图像和SWF 文件,在文件加载时,图像的左上角均与舞台的左上角对齐另外,在这两种情况下,加载的文件均继承旋转和缩放设置,并且原始内容将被覆盖使用unloadMovieNum 动作可删除使用loadMovieNum 动作加载的影片或图像示例此示例将JPEG 图像image45.jpg加载到Flash Player 的级别 2 中loadMovieNum("", 2); //8load Variables ("url" ,level/"target"[, variables])参数url 变量所处位置的绝对或相对URL如果使用Web 浏览器访问影片,则此URL 的宿主必须与影片本身在同一子域中level 指定Flash Player 中接收这些变量的级别的整数当将变量加载到级别时,在标准模式下,动作面板中的该动作变成loadVariablesNum;在专家模式下,您必须指定loadVariablesNum 或从动作工具箱中选择它target 指向接收所加载变量的影片剪辑的目标路径您只能指定target 影片剪辑或Flash Player 中的level(级别)这两者之一;而不能同时指定这两者variables 一个可选参数,指定发送变量所使用的HTTP 方法该参数必须是字符串GET 或POST如果没有要发送的变量,则省略此参数GET 方法将变量追加到URL 的末尾,该方法用于发送少量变量POST 方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串说明动作;从外部文件(例如文本文件,或由C GI 脚本A c tive Server Page (ASP)PHP 或Perl 脚本生成的文本)读取数据,并设置Flash Player 级别或目标影片剪辑中变量的值此动作还可用于使用新值更新活动影片中的变量在指定URL 处的文本必须为标准的MIME 格式appli c ation/x-www-form-urlen c oded(一种C GI 脚本使用的标准格式)要加载的影片和变量必须驻留在同一子域中可以指定任意数量的变量例如,下面的语句定义了几个变量:c ompany=Ma c romedia&address=600+Townsend&c ity=San+Fran c is c o&zip=94103将要在Flash Player 实例中打开的第一个影片加载到最下一级(在代码中标识为_level0)当使用loadMovie 或loadMovieNum 动作将后面的影片加载到Flash Player 中时,必须指定一个Flash Player 中的级别号,或者指定一个目标影片剪辑(每个影片都将加载到该级别或目标影片剪辑中)当使用load Variables 动作时,必须指定变量将加载到的Flash Player 级别或影片剪辑目标示例此示例将来自文本文件的信息加载到主时间轴上varTarget 影片剪辑的文本字段中文本字段的变量名必须与data.txt 文件中的变量名匹配on(release) {loadVariables("data.txt", "_root.varTarget");}9load Variables ("url" ,level [, variables])参数url 变量所处位置的绝对或相对URL如果使用Web 浏览器访问影片,则此URL 的宿主必须与影片本身在同一子域中level 指定Flash Player 中接收这些变量的级别的整数variables 一个可选参数,指定发送变量所使用的HTTP 方法该参数必须是字符串GET 或POST如果没有要发送的变量,则省略此参数GET 方法将变量追加到URL 的末尾,该方法用于发送少量变量POST 方法在单独的HTTP 标头中发送变量,该方法用于发送长的变量字符串说明动作;从外部文件(例如文本文件,或由C GI 脚本A c tive Server Page (ASP)PHP 或Peril 脚本生成的文本)读取数据,并设置Flash Player 级别中变量的值此动作还可用于使用新值更新活动影片中的变量当将变量加载到级别时,在标准模式下,动作面板中的该动作变成loadVariablesNum;在专家模式下,您必须指定loadVariablesNum 或从动作工具箱中选择它在指定URL 处的文本必须为标准的MIME 格式appli c ation/x-www-form-urlen c oded(一种C GI 脚本使用的标准格式)要加载的影片和变量必须驻留在同一子域中可以指定任意数量的变量例如,下面的语句定义了几个变量:c ompany=Ma c romedia&address=600+Townsend&c ity=San+Fran c is c o&zip=94103将要在Flash Player 实例中打开的第一个影片加载到最下一级(在代码中标识为_level0)当使用loadMovie 或loadMovieNum 动作将后面的影片加载到Flash Player 中时,必须指定一个Flash Player 中的级别号,或指定一个目标影片剪辑(每个影片都将加载到该级别或目标影片剪辑中)当使用loadVariablesNum 动作时,必须指定变量将加载到的Flash Player 级别示例此示例将来自文本文件中的信息加载到Flash Player 中级别0 处的影片的主时间轴上的文本字段中文本字段的变量名必须与data.txt 文件中的变量名匹配on(release) {loadVariablesNum("data.txt", 0);}另请参见getURLloadMovieloadMovieNumloadVariablesMovie C lip.loadMovieMovie C lip.loadVariables10unload Movie[Num](level/"target")参数level 加载影片的级别(_levelN)从一个级别卸载影片时,在标准模式下,动作面板中的unload Movie 动作切换为unloadMovieNum;在专家模式下,必须指定unloadMovieNum,或者从动作工具箱中选择它target 影片剪辑的目标路径说明动作;从Flash Player 中删除一个已加载的影片或影片剪辑若要卸载一个已经加载到Flash Player 级别中的影片,请使用level 参数若要卸载已经加载的影片剪辑,请使用target 参数示例下面的示例卸载主时间轴上的影片剪辑draggable,并将影片movie.swf 加载到级别 4 中on (press) {unloadMovie ("_root.draggable");loadMovieNum ("movie.swf", 4);}下面的示例卸载已经加载到级别 4 中的影片:on (press) {unloadMovieNum (4);}另请参见load MovieloadMovieNumunloadMovieNum11unloadMovieNum(level)参数level 加载影片的级别(_levelN)说明动作;从Flash Player 中删除已加载的影片另请参见loadMovieloadMovieNum12dupli c ateMovie C lip(target, newname,depth)参数target 要复制的影片剪辑的目标路径new name 复制的影片剪辑的唯一标识符depth 复制的影片剪辑的唯一深度级别深度级别是复制的影片剪辑的堆叠顺序这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片说明动作;当影片正在播放时,创建一个影片剪辑的实例无论播放头在原始影片剪辑(或父级)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始父影片剪辑中的变量不拷贝到复制的影片剪辑中如果删除父影片剪辑,则复制的影片剪辑也被删除使用removeMovie C lip 动作或方法可以删除由dupli c ateMovie C lip 创建的影片剪辑实例示例该语句复制影片剪辑实例flower 十次变量i 用于为每个复制的影片剪辑创建新实例名和唯一的深度on (release) {amount = 10;while (amount>0) {dupli c ateMovie C lip (_root.flower, "m c"+i, i);setProperty ("m c"+i, _x, random(275));setProperty ("m c"+i, _y, random(275));setProperty ("m c"+i, _alpha, random(275));setProperty ("m c"+i, _xs c ale, random(50));setProperty ("m c"+i, _ys c ale, random(50));i++;amount--;}}另请参见Movie C lip.dupli c ateMovie C lipremoveMovie C lipMovie C lip.removeMovie C lip13on C lipEvent(movieEvent){statement(s);}参数movie Event 是一个称作事件的触发器当事件发生时,执行该事件后面花括号中的语句可以为movie Event 参数指定下面的任何值:- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作- enter Frame 以影片帧频不断地触发此动作首先处理与enter Frame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本- mouse Move 每次移动鼠标时启动此动作_xmouse 和_ymouse 属性用于确定当前鼠标位置- mouse Down 当按下鼠标左键时启动此动作- mouse Up 当释放鼠标左键时启动此动作- key Down 当按下某个键时启动此动作使用Key.get C ode 方法获取最近按下的键的有关信息- key Up 当释放某个键时启动此动作使用Key.get C ode 方法获取最近按下的键的有关信息- data 当在loadVariables 或loadMovie 动作中接收数据时启动此动作当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时当与load Movie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生statement(s) 发生mouse Event 时要执行的指令说明事件处理函数;触发为特定影片剪辑实例定义的动作示例下面的语句在导出影片时包括来自外部文件的脚本;当加载动作所附加到的影片剪辑时,运行包含脚本中的动作:on C lipEvent(load) {#in c lude "myS c ript.as"}下面的示例将on C lipEvent 与key Down 影片事件一起使用key Down 影片事件通常与Key 对象的一个或多个方法和属性一起使用下面的脚本使用Key.get C ode 方法找出用户按下了哪个键;如果按下的键与Key. RIGHT 属性相匹配,则将影片移到下一帧;如果按下的键与Key. LEFT 属性相匹配,则将影片移到上一帧On C lipEvent(key Down) {if (Key.get C ode() == Key. RIGHT) {_parent.nextFrame();} else if (Key.get C ode() == Key. LEFT){_parent.prevFrame();}}下面的示例将on C lipEvent 与mouse Movie 影片事件一起使用_xmouse 和_ymouse 属性跟踪每次鼠标移动时的鼠标位置on C lipEvent(mouse Move) {stageX=_root. mouse;stageY=_root. mouse;}另请参见Movie C lip._xmouseMovie C lip._ymouseOn14removeMovie C lip(target)参数target 用dupli c ateMovie C lip 创建的影片剪辑实例的目标路径,或者用Movie C lip 对象的atta c h Movie 或dupli c ateMovie C lip 方法创建的影片剪辑的实例名说明动作;删除用Movie C lip 对象的atta c h Movie 或dupli c ateMovie C lip 方法创建的,或者用dupli c ateMovie C lip 动作创建的影片剪辑实例另请参见dupli c ateMovie C lipMovie C lip.dupli c ateMovie C lipMovie C lip.atta c hMovieMovie C lip.removeMovie C lip15set Property("target",property,value/expression)参数target 到要设置其属性的影片剪辑实例名称的路径property 要设置的属性value 属性的新文本值expression 计算结果为属性新值的公式说明动作;当影片播放时,更改影片剪辑的属性值示例当单击按钮时,此语句将名为star 的影片剪辑的_alpha 属性设置为30%:on(release) {setProperty("star", _alpha, "30");}另请参见get Property16delete referen c e参数referen c e 要消除的变量或对象的名称说明运算符;销毁由referen c e 参数指定的对象或变量,如果该对象被成功删除,则返回true;否则返回false 值该运算符对于释放脚本所用的内存非常有用虽然delete 是一个运算符,但它通常作为语句使用,如下所示:delete x;如果referen c e 参数不存在,或者不能被删除,则delete 运算符可能失败并返回false预定义的对象和属性以及由var 声明的变量不能删除不能使用delete 运算符删除影片剪辑示例下面的示例创建一个对象并使用它,然后在不再需要时删除它a cc ount = new Obje c t();a cc ount. ;a cc ount. balan c e = 10000;delete a cc ount;示例下面的示例删除对象的一个属性// c reate the new obje c t "a cc ount"a cc ount = new Obje c t();// assign property name to the a cc ounta cc ount. ;// delete the propertydelete a cc ount. name;示例下面是删除对象属性的另一个示例// c reate an Array obje c t with length 0array = new Array();// Array. length is now 1array[0] = "ab c";// add another element to the array,Array.length is now 2array[1] = "def";// add another element to array,Array.length is now 3array[2] = "ghi";// array[2] is deleted, but Array. length is not c hanged,delete array[2];下面的示例阐释了delete 对于对象引用的行为方式:// c reate a new obje c t, and assign the variable ref1// to refer to the obje c tref1 = new Obje c t(); = "Jody";// c opy the referen c e variable into a new variable// and delete ref1ref2 = ref1;delete ref1;如果ref1 尚未拷贝到ref2 中,则当删除ref1 时,该对象将被删除,因为将没有指向它的引用如果删除ref2,则不再有指向该对象的任何引用,该对象将被销毁,同时释放它所使用的内存另请参见var17set(variable, expression)参数variable 保存expression 参数值的标识符expression 分配给变量的值说明动作;为变量赋值variable 是保存数据的容器容器本身始终不变,但内容可以更改通过在影片播放时更改变量的值,可以记录和保存有关用户所执行操作的信息;记录当影片播放时更改的值;或者计算某条件是true 还是false变量可以保存任何类型的数据(例如,字符串数字布尔值对象或影片剪辑)每个影片和影片剪辑的时间轴都有其自己的变量集,每个变量又都有其自己独立于其他时间轴上的变量的值动作脚本是一种动态类型化语言每个变量都有一种类型该类型是在运行时分配的,并且可以在执行过程中进行更改这一点与静态类型化语言(如Java 或C++)不同,在静态类型化语言中,在编译时分配类型,而且在运行时无法更改示例此示例设置一个名为orig_x_pos 的变量,该变量存储ship 影片剪辑的原始轴位置,以便以后在影片中将船(ship) 重置到其起始位置on(release) {set(orig_x_pos, get Property ("ship", _x ));}上面的代码与下面的代码结果一样:on(release) {orig_x_pos = ship._x;}另请参见varc all18var variableName1 [= value1][...,variableNameN [=valueN]]参数variable Name 标识符value 分配给变量的值说明动作;用于声明局部变量如果在函数内声明局部变量,那么变量就是为该函数定义的,且在该函数调用结束时到期如果变量不是在块({}) 内声明的,但使用c all 动作执行该动作列表,则该变量为局部变量,且在当前列表结束时到期如果变量不是在块中声明的,且不使用c all 动作执行当前动作列表,则这些变量不是局部变量示例下面的示例使用var 动作声明和分配变量:var x;var y = 1;var z = 3, w = 4;var s, t, u = z;19with (obje c t) {statement(s);}参数obje c t 动作脚本对象或影片剪辑的实例statement(s) 花括号中包含的动作或一组动作说明动作;允许您使用obje c t 参数指定一个对象(比如影片剪辑),并使用statement(s) 参数计算对象中的表达式和动作这可以使您不必重复书写对象的名称或路径obje c t 参数成为读取statement(s) 参数中的属性变量与函数的上下文例如,如果obje c t 为my Array,且指定属性中的两个是length 与c on c at,则这些属性将自动作为myArray.length 与myArray.c on c at 进行读取在另一个示例中,如果obje c t 为state. C alifornia,则with 动作中的任何动作或语句将从C alifornia 实例中调用若要查找statement(s) 参数中某标识符的值,动作脚本将从obje c t 指定的范围链的开头开始查找,并以特定的顺序在范围链的每个级别中搜索该标识符with 动作使用范围链解析标识符,该范围链从下面列表中的第一项开始,一直到最后一项结束:- 在with 动作最里面的obje c t 参数中指定的对象- 在with 动作最外面的obje c t 参数中指定的对象- 激活的对象(当调用函数时自动创建的临时对象,该函数包含函数所调用的局部变量)- 包含当前执行脚本的影片剪辑- 全局对象(诸如Math 与String 的内置对象)若要在with 动作中设置变量,该变量必须已在with 动作外部进行了声明,或者您必须输入该变量所生存时间轴的完整路径如果未声明该变量就在with 动作中设置它,则该with 动作将根据范围链寻找该值如果该变量还不存在,则将在调用with 动作的时间轴上设置此新值在Flash 5 中,with 动作替换了被否决的tell Target 动作建议您使用with 而不使用tell Target,因为前者是对E C MA-262 标准的一个标准动作脚本扩展功能with 与tell Target 动作的主要差异在于with 采用对影片剪辑或其他对象的引用作为其参数,而tell Target 采用标识影片剪辑的目标路径字符串作为其参数,且不能用于指向对象示例下面的示例设置someOtherMovie C lip 实例的x 与y 属性,然后指示someOtherMovie C lip 转到第三帧并停止with (someOtherMovie C lip) {_x = 50;_y = 100;gotoAndStop(3);}下面的代码片断显示如何不使用with 动作编写前面的代码someOtherMovie C lip._x = 50;someOtherMovie C lip._y = 100;someOtherMovie C lip.gotoAndStop(3);还可使用tell Target 动作编写这段代码然而,如果someOtherMovie C lip 不是影片剪辑,而是一个对象,则不能使用with 动作。
swfobject2.2参数详解(swfobject.embedSWF)swfobject2.2参数详解(swfobject.embedSWF)swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn);各个参数的含义:1--> swfUrlStr:要加载的SWF⽂件相对地址(包括路径、⽂件名、⽂件类型等)2--> replaceElemIdStr:加载的SWF将替代id为此字符串的页⾯元素;3--> widthStr:SWF加载后在页⾯中显⽰的宽度;4--> heightStr:SWF加载后在页⾯中显⽰的⾼度;5--> swfVersionStr:要播放此SWF⽂件所要使⽤的Flash Player最低版本;6--> xiSwfUrlStr:如果没有flash那就使⽤这个⾃动安装flash的⽂件 swfobject2.2源⽂件⾥有(其实是个空的swf⽂件;7--> flashvarsObj:这⾥是flashvars的值。
这个常⽤来作为html与flash之间传递参数,本来是在params对象中的属性,由于考虑到常⽤和⽅便,所以单独取了出来。
如果不需要传参可以设置为null;也可以设置成null,然后在param中写。
8--> parObj:下⾯是可能出现的属性及其解释;play: 表⽰是否⾃动播放,true(默认,⾃动)后者false(不⾃动);loop:表⽰是否循环播放,true(默认)或者false;menu:表⽰是否显⽰右键菜单,true(默认)或者false,注意,当为false时也并不是不显⽰所有的右键菜单,⼀般会留下“设置”、“全局设置”、“关于、、、、、”等⼏个菜单;quality:参数值: low | medium | high | autolow | autohigh | best, 默认为high;说明: (可选)指定在应⽤程序回放期间使⽤的消除锯齿级别。
PPT职称考试“ShockwaveFlashObject”控件法PPT职称考试“Shockwave Flash Object”控件法导语:Flash动画“闪”在PowerPoint2003中的四种方法你知道是什么吗?店铺已经整理出来了,需要学习的小伙伴们一起来看看吧。
Flash是大名鼎鼎的美国Macromedia公司推出的一款优秀的矢量动画制作软件,它简单易学,功能强大,能制出声图文并茂的多媒体文件,并且文件体积小,所以深受广大教师的欢迎,那么如何让Flash动画(*.swf)“闪”在为广大教师所熟悉的PowerPoint 2003中,让这两款各有所长的优秀软件联袂打造出一种摄人心魄的效果,从而更好地提高课堂教学质量呢?笔者通过让一个保存在“我的文档”中的名为“我的文件”的Flash动画实现在PowerPoint 2003中的'播放为例,向大家介绍让Flash动画“闪”在PowerPoint 2003中的四种方法。
使用“Shockwave Flash Object”控件法(1)建立一个文件夹,将flash文件与演示文稿都放在里面,运行PowerPoint 2003 2000,切换到要插入Flash动画的幻灯片。
(2)单击“视图”菜单,在弹出的下拉菜单中单击“工具栏”,再在弹出的子菜单中单击“控件工具箱”,便出现“控件工具箱”(如图1)。
(3)单击“控件工具箱”中的“其他控件”(工具箱中的最后一个按钮,即上图中用圈圈住的),弹出ActiveX控件窗口,窗口中列出了系统已经安装的所有ActiveX控件。
利用键盘上的光标控制键,在控件列表中找到“Shockwave Flash Object”并单击,此时系统会自动关闭控件窗口。
(4)将光标移动到PowerPoint 2003的编辑区域中,光标变成“十”字形,按下鼠标并拖动,画出适当大小的矩形框,这个矩形区域就是播放动画的区域。
(5)右单击矩形框,在出现的快捷菜单中单击“属性”,出现“属性”窗口(如图2)。
Shockwave Flash Object 控件属性中各项功能 2011-03-06 21:20 要设置动画播放的特定选项,请执行以下操作,完成后关闭“属性”对话框: 确保 Playing 属性设为 True。
该设置使幻灯片显示时自动播放动画文件。
如果 Flash 文件内置有“开始/倒带”控件,则 Playing 属性可设为 False。
如果不想让动画反复播放, 请在 Loop 属性中选择 False(单击单元格以显示向 下的箭头,然后单击该箭头并选择 False)。
要嵌入 Flash 文件以便将该演示文稿传递给其他人,请在 EmbedMovie 属性中 单击 True。
(但是,要运行 Flash 文件,任何运行该演示文稿的计算机都必须 注册 Shockwave Flash Object 控件。
) 要运行动画: 在幻灯片的普通视图下,单击 PowerPoint 窗口左下方的“幻灯片 放映”按钮(或按 F5 键,或在“幻灯片放映”菜单上单击“观看放映”)。
要退出幻灯片放映并返回普通视图,请按 ESC 键。
shockwave flash object 控件 2007-05-16 13:11 1.shockwave flash object 功能 虽然从 5.0 版本开始 Authorware 就直接支持播放 Flash 动画 (那将 Flash 动画 嵌入 Authorware 应用程序的内部), 但这种支持是有限的,在 Flash 动画中所包含的某些功能会失效,并且当所嵌 入的 Flash 动画比较大时,会严重影响程 序的运行速度。
使用 shockwave flash object 控件可以使在 Authorware 中加 入的 Flash 动画保持原有的功能,但 注意此时又失去了嵌入 Authorware 程序内部时所能灵活设置的层数、 透明的特 点。
因此在具体选用何种方式时要注 意根据具体情况来选择。
SWF文件结构大解剖2SWF文件结构大解剖Flash各种实例剖析我们都看过不少,不过你有没有想过swf文件内部到底是怎样的结构呢?不少闪客都想制作自己的Flash播放器,除了对控件的掌握和使用,更需要我们对swf文件的结构有深入的了解。
于是我用WinHex分别打开一个swf文件和由它生成的exe文件,经过仔细分析对比后,我不仅发现了swf文件转变成exe可执行文件的秘密,并且将Flash自带播放器具备而控件却无法实现的那些功能的谜底也同时解开了。
既然要“解剖”swf文件我们就要有“解剖”工具,我使用的是WinHex 9.2,你也可以用其它的二进制编辑器来查看。
一、swf文件结构和信息左侧“偏移量”一格代表一个字节,相同或相关功能的字节用同一种背景色表示。
偏移量用十进制数表示,每个字节的值均用十六进制数表示。
偏移量含义固定为46 57 53,也就是字母‘F’‘W’‘S’也有的文件为43 57 53,也就是字母‘C’‘W’‘S’123文件版本号在播放一个swf文件之前,可根据此值与当前播放器控件的版本号比较,看是否需要更新。
(Flash MX 生成的swf文件版本号为6)4文件大小正确的文件大小应该是按7、6、5、4的顺序来排列得到的十六进制数,单位是字节。
5678影片宽高数据控制码(详细说明见后)9···影片的宽度与高度数据存放区所占字节数由控制码决定(详细说明见后)N1(作用不详)N2影片放映速度设计时指定的速度,单位是(帧/秒)。
N3影片的总帧数正确的帧数应该是按N4、N3的顺序排列得到的十六进制数。
N4N5(作用不详)N6(作用不详)N7背景色中红色值N8背景色中绿色值N9背景色中蓝色值···影片数据区文件的最后四个字节为40 00 00 00注:因长宽控制码所占字节数不确定,故其后的偏移量无法用具体数字来表示,改用N1、N2、N3等符号。
轻松玩转FLASH之FLASH解析第一篇 Flash的SWF文件的搜寻和下载一、查看源代码当浏览网页见到诱人的Flash时,点击右键,在右键菜单中选择“查看源文件”(或点击“查看”菜单中的“源文件”),记事本就带着密密麻麻的源代码显示在面前。
点击菜单“工具/查找”(或按下快捷键“Ctrl+F”),在弹出的对话框中输入“.SWF”,即可查找到Flash的SWF文件,复制下载链接地址,注意看是绝对链接还是相对链接。
打开下载工具软件FlashGet或者NetAnts,粘贴链接地址URL就可以轻松地下载这个SWF文件了。
二、利用全屏欣赏的URL有很多网站为了方便网友看Flash作品,常常提供了全屏欣赏,这种方式最受笔者的欢迎了,只要直接在链接上按鼠标的右键,选择“复制快捷方式”,然后到下载工具上粘贴地址链接URL就可以了。
一些具有在IE中添加右键功能的下载工具就更简单了,如下载软件FlashGet,在链接上按鼠标右键,直接选择“使用网际快车下载”,这个Flash作品就乖乖地归到硬盘上去了。
三、在本机的临时文件夹中查找当你看过一个Flash后,IE便会自动将它存到临时文件夹中——C: \Windows\Temporary Internet Files——注意,这是针对Win98而言。
然后查询其中的.SWF文件,很快,所有的Flash文件都显示在眼前,只要把它们全部Copy到另外的目录,然后自己慢慢挑吧。
不过你首先要注意的是你的IE 所放临时文件夹的大小,如果太小,或许Flash 动画就不会被记录,如果你根本取消了IE临时文件夹,那么这个方法并不适合你。
在Win2000中却不同,因为它根据不同用户设置了不同的各种参数,包括上网的记录,我们必须到以下的目录来查找: 操作系统盘\Documents and Settings\Administrator\LocalSettings\Temporary Internet Files 或者: 操作系统盘\Documents and Settings\Default User\Local Settings\Temporary Internet Files 这是一种较为简单的方法,并且无需装任何新软件。
FLASH调用外部SWF、音乐、视频、TXT,HTML一,在Flash中用loadMovieNum函数调用所有外部文件详解在Flash中我们可以通过帧、按钮、影片剪辑来调用外部文件。
调用的外部文件可以包括:外部文本文件、外部程序文件、外部*.swf文件、外部图片文件、外部音乐文件、外部脚本文件等。
现在我们将Flash加载外部文件的五种方法与技巧总结一下,现在本文是第五讲:第四讲回顾:Flash用mySound.loadSound调用外部声音文件加载到场景:/html/image/flash/20081129/2990.html用loadMovieNum()函数调用所有外部文件(一)loadMovieNum()函数详解用法:loadMovieNum("url",level [, variables])功能:在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。
参数:该函数有3个参数:url、target、variables。
variables 是可选参数。
1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。
2.参数level:一个整数,指定 SWF 文件将加载到Flash Player中的哪个级别。
加载的时候,可以这样来写:loadMovieNum("01.swf", 1);loadMovieNum("02.swf", 2);loadMovieNum("03.swf", 3);loadMovieNum加载后的控制可以这样使用:_level1._x=10 ;_level2.aa._alpha=50 ;_level3.aa.bb._width=110;_level4.mysound.stop();// 加载到级别为4的对象MC:mysound停止(播放音乐)需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。
Shockwave Flash Object 控件属性中各项功能 2011-03-06 21:20 要设置动画播放的特定选项,请执行以下操作,完成后关闭“属性”对话框: 确保 Playing 属性设为 True。
该设置使幻灯片显示时自动播放动画文件。
如果 Flash 文件内置有“开始/倒带”控件,则 Playing 属性可设为 False。
如果不想让动画反复播放, 请在 Loop 属性中选择 False(单击单元格以显示向 下的箭头,然后单击该箭头并选择 False)。
要嵌入 Flash 文件以便将该演示文稿传递给其他人,请在 EmbedMovie 属性中 单击 True。
(但是,要运行 Flash 文件,任何运行该演示文稿的计算机都必须 注册 Shockwave Flash Object 控件。
) 要运行动画: 在幻灯片的普通视图下,单击 PowerPoint 窗口左下方的“幻灯片 放映”按钮(或按 F5 键,或在“幻灯片放映”菜单上单击“观看放映”)。
要退出幻灯片放映并返回普通视图,请按 ESC 键。
shockwave flash object 控件 2007-05-16 13:11 1.shockwave flash object 功能 虽然从 5.0 版本开始 Authorware 就直接支持播放 Flash 动画 (那将 Flash 动画 嵌入 Authorware 应用程序的内部), 但这种支持是有限的,在 Flash 动画中所包含的某些功能会失效,并且当所嵌 入的 Flash 动画比较大时,会严重影响程 序的运行速度。
使用 shockwave flash object 控件可以使在 Authorware 中加 入的 Flash 动画保持原有的功能,但 注意此时又失去了嵌入 Authorware 程序内部时所能灵活设置的层数、 透明的特 点。
因此在具体选用何种方式时要注 意根据具体情况来选择。
SWFObject-FlashObject详解(2007-09-29 10:39:00)转载▼SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块创建一个新的SWFObject实例,并且传入一下参数:var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);∙quality - 画面质量,默认为"high"。
∙xiRedirectUrl - 详见ExpressInstall相关∙redirectUrl - 没有安装相应版本的播放器后自动跳转的目标地址∙detectKey - 这是当忽略检测时,SWFObject将去url地址中查找的变量,默认值为“detectflash”细节SWFObject 的灵活性非常好。
您完全可以事先写好HTML的其他部分,最后再回过头来添加Flash内容。
这样可以确保在客户端没有Flash的情况下,用户不会一无所获;也可以确保针对搜索引擎,做了什么样的关键词优化。
您完全不用像以前那样担心客户端的各种状况SWFObject兼容当前各种主流浏览器,如:PC上的IE5/5.5/6, Netscape 7/8,Firefox, Mozilla, and Opera。
Mac上的IE5.2, Safari, Firefox, Netscape 6/7, Mozilla, and Opera 7.5+,各种浏览器的后续版本也会继续支持SWFObject检测Flash播放器版本从3开始到最新的版本号,而且也消灭了IE中“激活”的麻烦。
SWFObject可以方便地检查版本细节,例如我们需要v.6.0 r65 (or 6,0,65,0) 来处理SWF 资源,就可以添加如下代码:var so = new SWFObject("movie.swf", "mymovie", "200", "100", "6.0.65", "#336699");SWFObject的版本检测可以人工忽略。
如果在特定环境下您不希望SWFObject检测版本号,那么只需要传递一个参数在HTML页面中,就可以了。
SWFObject可以捕获这个参数并且跳过检测,直接写入Flash嵌入代码到DOM中。
用于忽略版本检测的变量名是“detectflash”,以下是一个例子:<a href="mypage.html?detectflash=false">Bypass link</a>SWFObject 范例以上我们接触到的范例都最基础的,接下来我们列举一些其他功能,尤其是传入参数、变量这些使用频率较高的行为。
传入Flash内联参数的简单范例<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100%", "7", "#336699"); so.addParam("quality", "low"); so.addParam("wmode","transparent"); so.addParam("salign","t"); so.write("flashcontent"); </script>这里可以看到Flash支持的内联参数列表:full list of the current parameters and their possible values(官方资源)采用"Flashvars"参数传入变量用Flashvars是在预加载Flash时传入数据的最佳做法,语法格式与GET变量串非常类似,如:variable1=value1&variable2=value2&variable3=value3SWFObject帮助您将这项工作变得更加明确化<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7","#336699"); so.addVariable("variable1","value1"); so.addVariable("variable2","value2"); so.addVariable("variable3","value3"); so.write("flashcontent"); </script>这些变量将会保存在_root这个MovieClip对象里。
SWFObject还可以方便地直接从URL中接受参数传入Flash中,例如你有这样一个URL:/page.html?variable1=value1&variable2=value2。
采用getQueryParamValue()方法你就可以轻松获取这些参数,并将它们传入Flash,例如:<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7","#336699"); so.addVariable("variable1",getQueryParamValue("variable1")); so.addVariable("variable2", getQueryParamValue("variable2")); so.write("flashcontent");</script>getQueryParamValue()方法同样可以获取JavaScript的Location对象的hash值“location.hash”来与swf内部进行通信。
这里是一个采用SWFObject的应用程序,其中用到了location.hash对象在SWFObject中应用Express Install(利用官方自动升级接口)SWFObject全面支持AdobeFlash播放器的自动升级功能(从6.0.65起的FlashPlayer支持在swf内部自动升级!),这样用户完全不用离开您的网页就能完成播放器的升级了。
首先,上传官方的expressinstall.swf到您的服务器上,然后使用useExpressInstall方法指定这个swf文件的地址就可以了,例如:<script type="text/javascript"> var so = newSWFObject("movie.swf", "mymovie", "200", "100", "8","#336699"); eExpressInstall('expressinstall.swf'); s o.write("flashcontent"); </script>您可以安装一个低版本的Flash播放器然后看效果在SWFObject原文件压缩包中您可以找到具体的使用细节,您可以自己定制ExpressInstall的流程。
如果您的Flash影片在弹出窗口中,或者您希望用户在完成了ExpressInstall后重定向到其他地址,你可以采用xiRedirectUrl属性,来自动完成这一步骤。
例如:<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8","#336699"); eExpressInstall('expressinstall.swf'); so.s etAttribute('xiRedirectUrl','/upgradefinished.html'); // must be the absolute URL to your site so.write("flashcontent"); </script>。