Flash调用外部exe程序文件
- 格式:doc
- 大小:29.50 KB
- 文档页数:2
FLASH脚本代码大全-Goto跳转到指定的帧-Play播放-Stop停止-ToggleHighQuality在高画质和低画质间切换-StopAllSounds停止所有声音的播放-GetURL跳转至某个超联结-FSCommand发送FSCommand命令-LoadMovie装载影片-UnloadMovie卸载影片-TellTarget告知目标-IfFrameIsLoaded..判断帧是否被完全载入-OnMouseEvent鼠标事件。
其他Actions。
包括:-break跳出循环-call调用指定帧(一般喊有某个特定函数)-comment注释-continue继续循环-delete删除一个对象(Object)中的变量-dowhiledowhile循环-duplicateMovieClip复制MC-else否则(与if联用)-elseif否则如果(与if联用)-evaluate调用自定义函数(Function)-forfor循环-for..in依次取得对象(Object)中的各个属性或者某个数组中的所有元素-FSCommand发送FSCommand命令-function声明自定义函数-getURL跳转至某个超联结-goto跳转到指定的帧-if如果-ifFrameLoaded..帧是否完全被载入-include读入外部的ActionScript程序文件(.as)-loadMovie装载MC-loadVariables转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值-on鼠标事件的触发条件-onClipEventMC的事件触发程序-play播放-print输出到打印机-removeMovieClip删除MC-return在函数(function)中返回一个值-setvariable设定变量值-setProperty设定属性-startDrag开始拖动-stop停止-stopAllSounds停止所有声音的播放-stopDrag停止拖动-swapDepths交换两个MC的深度-tellTarget指定Action命令生效的目标-toggleHighQuality在高画质和低画质间切换-trace跟踪调试-unloadMovie卸载MC-var声明局部变量-while当..成立时..-with对..对象(Object)做..。
因为很多人对FSCommand的某些功能都不是很了解经常发贴而又得不到有效的回答,因此我整理了一些资料希望对大家有帮助fscommand(cmd_string, arg_string)执行主机端指令。
cmd_string指定所要执行的指令名,可为FlashPlayer的指令或浏览器javascript函数。
arg_string声明该指令所用到的参数。
FlashPlayer的指令有(只能在独立播放器时使用):"fullscreen" 是否全屏播放,参数为true或false"allowscale" 是否允许通过拉伸窗口缩放影片,参数为true或false"showmenu" 是否在播放器显示菜单,参数为true或false"trapallkeys" 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复"save" 隐藏属性,作用是存变量到文本文件.视窗显示),参数为true或false。
但Alt+F4系统快捷键(关闭窗口)依然可用。
"exec" 运行arg_string所指定的文件。
■□FSCommand语句中的exec命令可以使swf 文件具有读写磁盘的功能这部分内容说的是,FSCommand->exec命令与操作系统进行交互的用法,包括如何打开本地文件,存储文件,建立目录,打开浏览器窗口以及其它外部程序。
针对MAC机和PC机使用不同的操作系统,FSCommand语句在实际写法上不尽相同,本文以PC机为例进行说明。
(MAC机中的情况不作翻译)适用于Windows 9X的FSCommand->exec命令详细说明:(注:若要将以下命令句法移植到NT/2000/Me上,不能原封不动的照搬,需要略作改动,请自行实践。
)1、存储文件到硬盘有时我们想要在用户的机子上留下cookie,或在用户的硬盘上存储一些其它类型的信息,唯一可行的方法就是借助FSCommand,它通过调用用户Windows系统的命令打开MS-DOS窗口实现文件的存储。
Flash命令与解释- Go to 跳转到指定的帧- Play 播放- Stop 停止- Toggle High Quality 在高画质和低画质间切换- Stop All Sounds 停止所有声音的播放- Get URL 跳转至某个超联结- FSCommand发送FSCommand命令- Load Movie 装载影片- Unload Movie 卸载影片- Tell Target 告知目标- If Frame Is Loaded ..判断帧是否被完全载入- On Mouse Event 鼠标事件[separator]。
其他Actions。
包括:- break 跳出循环- call 调用指定帧(一般喊有某个特定函数)- comment 注释- continue 继续循环- delete 删除一个对象(Object)中的变量- do while do while循环- duplicateMovieClip复制MC- else 否则(与if联用)- else if 否则如果(与if联用)- evaluate 调用自定义函数(Function)- for for循环- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素- FSCommand发送FSCommand命令- function 声明自定义函数- getURL跳转至某个超联结- goto跳转到指定的帧- if 如果- ifFrameLoaded ..帧是否完全被载入- include 读入外部的ActionScript程序文件(.as)- loadMovie装载MC- loadVariables转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI 等脚本返回的文本值- on 鼠标事件的触发条件- onClipEvent MC的事件触发程序- play 播放- print 输出到打印机- removeMovieClip删除MC- return 在函数(function)中返回一个值- set variable 设定变量值- setProperty设定属性- startDrag开始拖动- stop 停止- stopAllSounds停止所有声音的播放- stopDrag停止拖动- swapDepths交换两个MC的深度- tellTarget指定Action命令生效的目标- toggleHighQuality在高画质和低画质间切换- trace 跟踪调试- unloadMovie卸载MC- var声明局部变量- while 当..成立时..- with 对..对象(Object)做..。
flash浏览器、网络、加载外部文件浏览器/网络1) Fscommand指令Fscommand指令使用的语法是:Fscommand("command","arguments")Command是指令的相关命令,arguments是命令的参数。
fscommand("fullscreen", "true");全屏显示可以加在第一帧中,也可以加在按加在按钮中.如加在按钮中则为on(press){fscommand("fullscreen","true"); }取消右键菜单Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一帧这样设置:Fscommand ("showmenu","false");fscommand("quit"); 退出如果加在帧中程序为fscommand("quit"); 意为当播放此帧自动退出.若加在铵钮中则为on (release) {fscommand("quit");}意为当单击时退出.禁止缩放->fscommand("allowscale", False)2) geturl 定位地址可以对文件加,也可以对按钮加.对文本加:选中整个文本或单个文字,在文本属性栏的链接加地址如:对按钮加:选中按钮,点动作,双击geturl 结果为:on(press){geturl("","_blank");} //blank以新的窗口打开3) loadmovie 从外部地直加载影片可以对按钮加,也可以对帧加按钮加如: on(press){loadmovienum("a.swf","1");}给帧加:loadmovienum("a.swt","1");4)外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文5)怎样给我的FLASH做一个预加载地LOADING?简单 loading 代码:方法 1 、使用载入字节数判断b=getBytesTotal();// 获取总的字节数a=getBytesLoaded();// 已经下载的字节数onEnterFrame=function(){// 进入帧时 , 进行判断if (a == b) {// 如果载入的字节数等于总的字节数delete this.onEnterFrame// 删除进入帧gotoAndPlay("frame");// 转入到你要播放的帧] else {// 否则a=getBytesLoaded();// 已经下载的字节数percent=int(a/b*100)+"%";// 计算已经下载的百分比]}把上面方法放入第一帧就可以了方法 2 、使用载入的帧数判断_用 Action 语法地 if frame is loaded 来实现 , 新建一层,这层专门放 Action,第一帧,ifFrameLoaded (" 场景 ", frame) {// 假如场景中地祯数已经载入goto and play() // 跳至并播放某某祯 ( 自己设定 )}第二帧,O*Np@Qgoto and play(" 场景 1", 1)// 跳至并播放第一祯循环再加上一个 load 地 MC 循环播放在这两帧的中间,就 OK 了。
如何在FLASH中调用exe文件前两天,在书中看到一个光盘制作的例子,便也仿照着说明开始了制作。
制作相应按钮与电影剪辑的过程因为都比较简单,所以也就没有遇到什么问题。
但在关键的部分:调用安装程序这块却还是遇到了一些问题。
那么在FLASH中如何调用EXE文件呢?由于书中提到的例子没有介绍这一方面的内容,只是给了一个光盘目录结构,让你根据光盘目录结构设置好相应的URL就可以了。
受这一提示的影响,当时便想会不会是利用GETURL 命令来实现呢?于是便用这个命令去尝试了,结果发现虽然能够找到这个安装程序,却出现的是文件下载的提示框。
虽然能够定位到这个可执行程序,也能通过这个窗口选择直接运行,但跟自己的要求还是有一定差距的。
虽然自己又看了看它的相应参数,也试图改变参数来满足自己的需要,但最终都没有找到合适的解决办法。
后来想见过这样用FLASH制作的安装光盘,网上应该有介绍的文章。
于是上网开始搜索,果然找到了解决的办法,但还是有一些疑惑的问题,也希望明白的朋友予以指导。
网上的文章说,要想在flash mx以后调用exe文件,需要将exe放到swf所在目录下的fscommand文件夹中,然后才能用fscommand("exec",文件名)的方式调用。
也就是说要实现调用的功能,你必须先得建一个fscommand文件夹才行,然后再把可执行文件放到该文件夹中就可以了。
因为我用的是FLASH MX 2004,因此符合所说的条件。
于是新建一个文件夹,然后以fscommand命名。
再次尝试,果然能够实现调用了。
但我在尝试的过程中,曾想用绝对路径的方式指定可执行文件,结果无论怎么尝试都没有实现。
因为我们知道,假如说想要完成一个用FLASH制作的安装光盘,一般情况下肯定不止一个安装程序,而把所有的安装程序都放到一个文件夹中,很显然有些太乱了。
而我们都见过软件安装光盘,各个安装程序都在自己的文件夹中,里面还有安装说明等许多文件,这样就给我们一个很明确的提示,从而让我们有选择的进行程序的安装。
制作自助建站系统时候,每个会员的页面名称都不一样,如果单独用文本显示样式比较单一,所以打算使用FLASH,但是如果为每个会员制作独立的SWF,工作量又比较大,所以使用FLASH中的动态文本调用外部TXT文件动态显示就是必须工作,这样剩下的工作就是动态生成外部TXT文件就可以了。
一、了解FLASH中的“动态文本”1,打开FLASH,新建一个文档,选择文本工具2,在窗口中插入文本3,“文本”属性面板中选择为“动态文本”4,“实例名称”输入为“cnbruce”二、“动态文本”的值1,选择第一帧,添加帧动作2,输入cnbruce.text="hello,world";3,“Ctrl+Enter”测试效果三、“动态文本”的值显示的另一种方法1,除了可以给动态文本取实例名称以外,还可以给其定义“变量”2,同样,设置第一帧动作为cnrose="hi,cnbruce";3,“Ctrl+Enter”测试效果,即“动态文本”被赋予的新的值四、动态文本调用外部文本文件的值1,动态文本如何调用外部文本文件中的值,首先就是将FLASH源文件和文本文件保持在磁盘目录下(本处是将FLASH和文本文件t1.txt放在同一目录下)。
2,在FLASH第一帧设置动作:swft = new LoadVars();//创建一个LoadVars对象的实例swftswft.load("t1.txt");//swft实例载入的对象是t1.txt文本文件swft.onLoad = function(a) {if (a) {cnrose = swft.wenben;//如果载入文件成功,FLASH动态文本中的值即为swft实例载入的t1.txt文件中wenben的内容}}3,t1.txt的内容为:wenben=HI,你好吗4,“Ctrl+Enter”测试英文显示正常,而中文显示为乱码,调整文本文件t1.txt的保存编码方式为“utf-8”形式>制作自助建站系统时候,每个会员的页面名称都不一样,如果单独用文本显示样式比较单一,所以打算使用FLASH,但是如果为每个会员制作独立的SWF,工作量又比较大,所以使用FLASH中的动态文本调用外部TXT文件动态显示就是必须工作,这样剩下的工作就是动态生成外部TXT文件就可以了。
Flash中调用外部swf的方法和定位和嵌入音频文件的两种方法Flash中调用外部swf的方法和定位和嵌入音频文件的两种方法Flash中调用外部swf的方法和定位原理:把外部swf调用到空MC中,再对空MC进行定位实现对SWF的定位on (release) {loadMovie("photo/z08.swf","ppp");ppp._x = 450;//定义ppp的x轴方向的位置(向右偏移距离)ppp._y = 50;//定义ppp的y轴方向的位置(向下偏移距离)ppp._xscale=80;//定义ppp的宽的大小(80表是原尺寸的80%)ppp._yscale=80;//定义ppp的高的大小(80表是原尺寸的80%)//以下代码同样可以实现一样功能//setProperty ("ppp", _x,450);//setProperty ("ppp", _y,50);//setProperty ("ppp", _xscale,80);//setProperty ("ppp", _yscale,80);}其中:ppp-:为一空MC的名称photo/z08.swf:swf的相对路径------------------------------------------Flash弹出固定大小的浏览器窗口通Flash按钮点击弹出一个固定大小的浏览器窗口.按钮as:on (release) {getURL("javascript:openNewWindow('sethome.html','thew in','width=253,height=54') ");}网页head内:<SCRIPT LANGUAGE=JavaScript>function openNewWindow(URLtoOpen, windowName, windowFeatures) {newWindow=window.open(URLtoOpen, windowName, windowFeatures);}</SCRIPT>加起来用了1天的时间想实现直接从flash按钮设置设为首页的功能,找了n多的代码测试,没有一个能用的,后来看有人说是IE6.0根本不支持flash按钮设置首页的功能,不知道是不是真的.最后只能通过弹出一个固定大小的窗口来实现了,虽是下策,总算能对付过去了.顺便写一下,设为首页的文字链接代码:<a href="#" onClick="javascript:this.style.behavior='url(#default#ho mepage)';this.setHomePage'/');window.close();">设置为首页</a>--------------------------------------------在Flash里嵌入音频文件的两种方法在Flash文档中嵌入音频文件的两种方法,使其可以在Flash player中正常播放。
浅谈Flash调入外部文件摘要:目前,Flash广泛应用于生活的方方面面,好的作品不仅需要它设计精美,画面流畅等,还要求具有好的扩展性,以方便修改。
本文讲述本人在Flash CS3教学中调用外部文件的一些心得、体会。
关键词:FLASH调用外部文件函数FLASH调用外部文件的好处显而易见,因为增加了外部数据库,方便了对flash内容进行修改,减少工作量,提高了工作效率。
那么学习Flash调用外部文件显得尤其重要,调用的外部文件包括:外部文本文件、外部程序文件、外部图片文件、外部音乐文件、外部脚本文件等。
下面以FlashCS3和调用文本文件为例进行说明。
一、调用外部文件的函数1.loadMovie函数。
【格式】loadMovie(“url”,target[,method])【功能】用来从当前播放的影片外部加载SWF影片到指定的位置。
【参数】url是被加载的外部SWF或JPEG文件的绝对或相对的URL路径,target是可选参数,用来指定目标影片剪辑实例的路径。
2.loadMovieNum函数。
【格式】loadMovieNum(“url” [,level,method])【功能】用来加载外部SWF影片到目前正在播放的SWF影片中,位置在当前SWF影片内的左上角。
【参数】url是被加载的外部SWF或JPEG文件的绝对或相对的URL路径,level是可选参数,用来指定播放的影片中,外部影片将加载到播放影片的哪个层。
3.loadVariables函数。
【格式】loadVariables (“url”,target[,level,method])【功能】该函数用来加载外部变量到目前正在播放的SWF动画中。
【参数】target是可选参数,用来指定目标影片剪辑实例的路径,目标影片剪辑实例将替换为加载的内容。
被加载的影片将继承被替换掉的对象的属性。
二、调用外部文件的形式Flash可以通过影片剪辑、按钮、帧来调用外部文件。
Flash调用外部文件:文本、程序、swf、图片、音乐、脚本Flash可以通过帧、按扭、影片剪辑来调用外部文件。
调用的外部文件包括:外部文本文件、外部程序文件、外部*.swf文件、外部图片文件、外部音乐文件、外部脚本文件。
一.调用外部文本文件:(文本文件开头要以flash中的动态文本框的变量名开头,如msg=".........."这样的形式,要和编辑的Flash文件放在同一目录下)1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.制作两个按扭(一个调用,一个清除)拖放到场景中。
3.调用按扭上添加AS:on(release){//松开鼠标后执行下面的代码;loadV ariables("msg.txt",msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}4.清除按扭上的AS:on(release){//松开鼠标后清楚动态文本框中的内容;msg="";}5.Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2)在第一帧上加如下代码:stop();_root.bt1.onRelease=function(){loadV ariables("msg.txt",msg);eCodepage=true;}_root.bt2.onRelease=function(){_root.msg="";}调用的外部文本文件能够滚动:1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向"箭头"按F8转为按扭元件;复制一个"箭头"按扭,垂直镜象,使这两个按扭和竖条的两端对齐.4.调用按扭上的AS:on(release){//松开鼠标后执行下面的代码;loadV ariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}清除按扭上的AS:on(release){_root.msg="";//清除动态文本框中的内容;}向上的按扭上的AS:on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;}向下的按扭上的AS:on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;}Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down)在第一帧上加如下代码:_root.bt1.onRelease=function(){//松开鼠标后执行下面的代码;loadV ariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}_root.bt2.onRelease=function(){//松开鼠标后执行_root.msg="";//清除动态文本框中的内容;}_root.up.onPress=function(){//在向上按扭上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;}_root.down.onPress=function(){//在向下按扭上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;}Ctrl+Enter测试.二.调用外部*.swf文件(加载到影片剪辑中):外部*.swf文件要和编辑的Flash文件放在同一目录下1.新建立一个空的影片剪辑mymc,把它放在场景中,实例名是:mymc.2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中3.调用按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码;loadMovie("flash8.swf","mymc");//加载外部的"flash8.swf"文件到"mymc"空影片剪辑中;mymc._x=70;//加载影片的X轴坐标;mymc._y=20;//加载影片的Y轴坐标;mymc._xscale=70;//加载影片的宽度;mymc._yscale=70;//加载影片的高度;}清除按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码unloadMovie(mymc);//删除用loadMovie加载的*.swf文件;}Ctrl+Enter测试三.调用外部*.swf文件(加载到时间轴上):外部*.swf文件要和编辑的Flash文件放在同一目录下1.制作两个按扭(一个调用,一个清除)拖放到场景中2.调用按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码loadMovie("flash8.swf",1);//加载外部的"flash8.swf"文件到场景中,层深为1;}清除按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码unloadMovie(1);//删除层深为1的用loadMovie所加载的"flash8.swf"文件}Ctrl+Enter测试。
Flash调用外部exe程序文件的方法
方法1:使用函数:fscommand(),
条件:
(1)yy.swf必须发布成yy.exe文件;
(2)被调用的xx.exe文件必须放到名为fscommand的文件夹中;
(3)fscommand的文件夹必须和文件yy.exe处于同一位置
语句: on (release) {
fscommand("exec","xx.exe");
}
方法2:使用函数:getURL()
说明:
(1)无论是yy.swf还是yy.exe都可以调用外部文件xx.exe;
(2)xx.exe文件可以随便放;
语法:
getURL("xx.exe") //xx.exe和yy处于同一位置;
getURL("文件夹/xx.exe") //xx.exe处于yy的下一级目录中;相对引用
getURL(file:///盘符:/文件夹/xxx.exe) //xx.exe处于硬盘任意位置;绝对引用
问题:调用时弹出了“文件下载”的对话框,运行在后台,提示你“打开”、“保存”、“取消”、“详细信息”。
备注:
fscommand的几个命令的意思
fscommand(cmd_string, arg_string) 执行主机端指令。
cmd_string指定所要执行的指令名,可为FlashPlayer的指令或浏览器javascript函数。
arg_string声明该指令所用到的参数。
FlashPlayer的指令有(只能在独立播放器时使用):
"fullscreen" 是否全屏播放,参数为true或false
"allowscale" 是否允许通过拉伸窗口缩放影片,参数为true或false
"showmenu" 是否在播放器显示菜单,参数为true或false
"trapallkeys" 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复"save" 隐藏属性,作用是存变量到文本文件.视窗显示),参数为true或false。
但Alt+F4系统快捷键(关闭窗口)依然可用。
"exec" 运行arg_string所指定的文件
在Flash课件中调用外部视频
flash制作的课件生动,易于表达教师的教学意图,发布也很方便,因此赢得了多方人士的喜爱.
但其使用外部视频时会有些烦琐,且效果不大令人满意.如果用好其提供的函数FSCOMMAND(),再结合第三方程序,会达到较为完善的效果.下面我将自己的亲历写出来,与大家共勉.
第一步:下载一个短小精悍的绿色播放器rmvb,此为RAR压缩文件,先保存.
第二步:在课件保存目录下新建一子目录FSCOMMAND(必须是此名,不能改), 将下载的RMVB压缩包解压到此目录下(共4个文件).
将要播放的外部视频文件拷至此目录下(如1.MPG).
第三步:在FSCOMMAND目录下新建一个文件A.BAT, 右击文件名选"编辑",进入编辑状态,输入如下内容后保存退出:
rmvb.exe 1.mpg /fullscreen /play /close 解释:
1.MPG为视频文件名,照实输入.
/fullscreen : 指定为全屏播放.
/play /close: 指播放完毕后自动退出, 否则会自动重复播放.
第四步:在课件中设置一个按钮, 写入如下脚本:
on(press){fscommand("exec","a.bat");}
第五步:按CTRL+ENTER导出影片.
第六步:单独运行导出的影片,
打开"文件"菜单,选择"创建播放器",在"位置"框中选择影片所在文件夹(必须),文件名框中输入文件名,此步意为将影片打包成EXE文件.运行此EXE文件,即可看到调用效果.(注:必须打包成EXE文件后,才能看到预期效果).。