最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网络设计学院 > Flash教程

学习FLASH中常见问题整理

日期:11-19    来源:中国设计秀    作者:cnwebshow.com

9bt中国设计秀
9bt中国设计秀
fscommand ("allowscale", "true/false");(缩放设置,TRUE自由缩放,FALSE调整画面不影响影片本身的尺寸) 9bt中国设计秀
9bt中国设计秀
fscommand ("trapallkeys", "true/false");(快捷键设置,TRUE快捷键开,FALSE快捷键关) 9bt中国设计秀
9bt中国设计秀
fscommand ("exec");(EXE程序调用) 9bt中国设计秀
9bt中国设计秀
fscommand ("quit");(退出关闭窗口) 9bt中国设计秀
11,在FLASH中的字体总是很模糊,用变清晰地办法吗? 9bt中国设计秀
写好文本以后CTRL+T打开文本设置面板,在最后地文本框选项那里框选使用设计字体就行了.(注意最好使用宋体,尺寸为12或者8,这样比较工整) 9bt中国设计秀
9bt中国设计秀
12,我想做一个MTV,怎么导入声音呀? 9bt中国设计秀
很简单,CTRL+R导入你地声音文件就行了. 9bt中国设计秀
9bt中国设计秀
13,我制作地MTV声音和歌词总是不同步. 9bt中国设计秀
CTRL+F打开祯控制面板,右边找到声音选项卡,调整声音地同步效果为STREM(音频数据流)模式就行了. 9bt中国设计秀
 9bt中国设计秀

19,如何加载一个SWF文件 9bt中国设计秀
loadMovieNum地技巧 9bt中国设计秀
添加一个空地MC。实体名为ok,ACTION: 9bt中国设计秀
loadMovie ("dr/test.swf", "_root.ok"); 9bt中国设计秀
9bt中国设计秀
控制这个MC的位置,大小等相对属性(Property)就会影响调入SWF的位置和大小。 9bt中国设计秀
setProperty ("mc", _xscale, "****"); 9bt中国设计秀
setProperty ("mc", _yscale, "****"); 9bt中国设计秀
setProperty ("mc", _x, "****"); 9bt中国设计秀
setProperty ("mc", _y, "****"); 9bt中国设计秀
setProperty ("mc", _Alpha, "****"); ............ 9bt中国设计秀
9bt中国设计秀
20,如何导入一个背景透明度效果比较好地位图? 9bt中国设计秀
推荐使用PNG格式(FIREWORK),FLASH对PNG位图地融合透明效果支持相当好。 9bt中国设计秀
21.问: 如何用actionscript将页面设为首页和加入收藏夹? 9bt中国设计秀
答: 一,用getURL的方法: 9bt中国设计秀
9bt中国设计秀
设为首页: 9bt中国设计秀
on (release) { 9bt中国设计秀
getURL("javascript:void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomePage('http://www.flashempire.com/');", "_self", "POST"); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
加入收藏夹: 9bt中国设计秀
on (release) { 9bt中国设计秀
getURL("javascript:void window.external.AddFavorite('http://www.flash8.net','闪吧');", "_self", "POST"); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
二,用fscommand的方法,有点复杂 9bt中国设计秀
9bt中国设计秀
1,先在flash的按钮上添加代码: 9bt中国设计秀
9bt中国设计秀
首页: 9bt中国设计秀
on (release) { 9bt中国设计秀
fscommand("setHomePage", "http://www.flash8.net"); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
收藏夹: 9bt中国设计秀
on (release) { 9bt中国设计秀
fscommand("addFavorite", "http://www.flash8.net 闪吧"); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
然后在发布设置中选择flash with fscommand,发布成html 9bt中国设计秀
9bt中国设计秀
2,修改html: 9bt中国设计秀
9bt中国设计秀
找到 9bt中国设计秀
// Handle all the the FSCommand messages in a Flash movie 9bt中国设计秀
function sethomepage_DoFSCommand(command, args) { 9bt中国设计秀
} 9bt中国设计秀
这一段,修改成: 9bt中国设计秀
// Handle all the the FSCommand messages in a Flash movie 9bt中国设计秀
function sethomepage_DoFSCommand(command, args) { 9bt中国设计秀
var sethomepageObj = InternetExplorer ? sethomepage : document.sethomepage; 9bt中国设计秀
if (command == "setHomePage") { 9bt中国设计秀
document.links[0].style.behavior = "url(#default#homepage)"; 9bt中国设计秀
document.links[0].setHomePage(args); 9bt中国设计秀
} else if (command == "addFavorite") { 9bt中国设计秀
args = args.split(" "); 9bt中国设计秀
window.external.AddFavorite(args[0], args[1]); 9bt中国设计秀
} 9bt中国设计秀
} 9bt中国设计秀
 9bt中国设计秀

111。问:初学者如何人打好ACTION基础(小晶) 9bt中国设计秀
答:http://bbs.flash8.net:8000/cgi-bin/topic_show.cgi?id=15164&h=1bpg=1&age=-1 9bt中国设计秀
9bt中国设计秀
112。问:如何实现画中画效果(木桫椤) 9bt中国设计秀
答:http://bbs.flash8.net:8000/cgi-bin/topic_show.cgi?id=7552&h=1bpg=1&age=-1 9bt中国设计秀
9bt中国设计秀
113。问:FLASH如何与后台连接?[源码] 9bt中国设计秀
答:使用LoadVars()对象的sendAndLoad()方法来发送和接收数据 9bt中国设计秀
9bt中国设计秀
114。问:如何实现声音的暂停/播放效果? 9bt中国设计秀
答:在执行stop()命令时可以用sound对象的position属性取得当前声音文件的播放时间(毫秒),然后用start(time,loop)在当前位置播放即可。 9bt中国设计秀
9bt中国设计秀
115。问:如何定义二维数组? 9bt中国设计秀
答:下面定义一个20*20的二维数组,值全部为0 9bt中国设计秀
sarray = []; 9bt中国设计秀
for (var i = 0; i<=19; i++) { 9bt中国设计秀
sarray[ i] = []; 9bt中国设计秀
for (var j = 0; j<=19; j++) { 9bt中国设计秀
sarray[ i][j] = 0; 9bt中国设计秀
} 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
116。问:如何打开指定属性的窗口?[源码][/color] 9bt中国设计秀
9bt中国设计秀
答:先JS在HTML页面中定义函数,然后在FLASH中用getURL()调用 9bt中国设计秀
(turbine) 9bt中国设计秀
9bt中国设计秀
117。问:如何通过MC中的按钮跳转场景? 9bt中国设计秀
答:在要跳转的桢上加标签,通过标签跳转:gotoAndStop("yourlable") 9bt中国设计秀
(turbine) 9bt中国设计秀
118。问:如何随机设置MC颜色? 9bt中国设计秀
答:MC实例名为"mc" 9bt中国设计秀
mycolor=new Color("mc") 9bt中国设计秀
mycolor.setRGB(random(0xffffff)) 9bt中国设计秀
(turbine) 9bt中国设计秀
119。问:如何实现双击效果? 9bt中国设计秀
答:把下面的代码放到按钮上: 9bt中国设计秀
on (press) { 9bt中国设计秀
time = getTimer()-down_time; 9bt中国设计秀
if (time<300) { 9bt中国设计秀
trace("ok"); 9bt中国设计秀
} 9bt中国设计秀
down_time = getTimer(); 9bt中国设计秀
} 9bt中国设计秀
(turbine) 9bt中国设计秀
120。问:如何使MC始终跟随鼠标旋转?[源码][/color] 9bt中国设计秀
答:先计算MC横纵坐标与鼠标横纵坐标的差值,然后用Math.atan2()来计算旋转角度。 9bt中国设计秀
m_x = _root._xmouse-mc._x; 9bt中国设计秀
m_y = _root._ymouse-mc._y; 9bt中国设计秀
mc._rotation = PI=180/Math.PI*Math.atan2(m_y, m_x); 9bt中国设计秀
(turbine) 9bt中国设计秀
121。问:如何做鼠标跟随效果? 9bt中国设计秀
答:基础代码如下,a为步长 9bt中国设计秀
mc._x+=(_root._xmouse-mc._x)/a 9bt中国设计秀
mc._y+=(_root._ymouse-mc._y)/a 9bt中国设计秀
(turbine) 9bt中国设计秀
122。问:如何在AS中创建类的继承? 9bt中国设计秀
答:创建一个MC的继承类 9bt中国设计秀
myClass=function(){ 9bt中国设计秀
…… 9bt中国设计秀
} 9bt中国设计秀
myClass.prototype = new MovieClip(); 9bt中国设计秀
(turbine) 9bt中国设计秀
9bt中国设计秀
122.问:能否详细讲解loadmovie 9bt中国设计秀
答:loadmovie的问题,然后就是加载之后属性的设置。。 9bt中国设计秀
loadMovieNum(url,level,method); 9bt中国设计秀
9bt中国设计秀
url 就是你要加载的SWF文件的相对或绝对URL. 如"snow.swf"或"http://go8.163.com/6snow9/myflash/snow.swf",强烈建议把要加载的swf都放在同一目录下 9bt中国设计秀
9bt中国设计秀
level指定被加载的swf放入到哪个层级(level)里,范围为0---n吧具体多少,我也不清楚了。。若为0则被载载的swf动画会完全取替原来的动画哦!数字越大,就越在原动画上面! 9bt中国设计秀
9bt中国设计秀
method 是传递参数的形式,有"POST"和"GET"两种 9bt中国设计秀
通过loadmovie加载进来的动画不需要时可以用unloadmovie命令把它卸除如 9bt中国设计秀
例:loadMovieNum("snow.swf",1);//加载snow.swf到第一层 9bt中国设计秀
9bt中国设计秀
接下来可以用getBytesLoaded();命令获得下载进度了如在第1帧: 9bt中国设计秀
bytesload=_level1.getBytesLoaded(); 9bt中国设计秀
bytestotal=_level1.getBytesTotal(); 9bt中国设计秀
loadbar._xscale=int(bytesload/bytestotal*100); 9bt中国设计秀
9bt中国设计秀
当下载完成后,就可以对它进行控制了,如设置属性,播放,停止等如在第5帧: 9bt中国设计秀
if (_level1.getBytesLoaded()>=_level1.getBytesTotal()){ 9bt中国设计秀
_levle1.play(); 9bt中国设计秀
play(); 9bt中国设计秀
}else { 9bt中国设计秀
gotoAndPlay(1); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
通过loadmovie加载进来的动画不需要时可以用unloadmovie命令把它卸除,如前面的snow.swf。。AS为:_level1.unloadMovie(); 9bt中国设计秀
演示:http://go8.163.com/6snow9/myflash/level/index.htm 9bt中国设计秀
源文件: 9bt中国设计秀
http://bbs.flash8.net:8000/attach/2002/05/11/156567-nowload.zip 9bt中国设计秀
9bt中国设计秀
关 于 加 载 sw f到 target 的 方 法: loadMovie(url,target[,method]); 9bt中国设计秀
1.可使用loadMovie("snow.swf",mc);,若已经有一个空MC存在的话,可以用mc.loadMovie("snow");加载 9bt中国设计秀
9bt中国设计秀
2.被加载的s动画,有关于AS的地方最好用相对路径,而不用_root.mc.loadmovie.play();等形式的绝对路径,可使用如: 9bt中国设计秀
_parent._parent.mc.play();//主场景的loadbar下的mc的帧要控制被加载到主场景空mc的动画播放 9bt中国设计秀
因为一旦被加载了,整个动画也就成了mc,用这样的语句可能会引起混乱 9bt中国设计秀
加载到MC实例源文件: 9bt中国设计秀
http://gumu.net/non/attach/130807-myload.zip 9bt中国设计秀
作者:萧月痕 9bt中国设计秀
9bt中国设计秀
123.原来MX的FS命令是这样的。 9bt中国设计秀
9bt中国设计秀
相信不少朋友在MX版本中继续使用FS的EXEC命令,但是。。。。 9bt中国设计秀
9bt中国设计秀
偶多试不灵,前些日子得到答案,还得感谢偶那StudioMX安装包。 9bt中国设计秀
9bt中国设计秀
其实非常简单,在MX版本中的EXE调用更加严格,必须使用FLASHPLAYER或者自程序EXE的方式调用,HTML页面禁止。这里变化就是目录方面Macromedia做了安全措施。必须是当前路径的FSCOMMAND目录下,也就是说你得手工建立一个FSCOMMAND目录来放置你调用的EXE程序。这个很简单, 9bt中国设计秀
其语法命令同F5不变: 9bt中国设计秀
fscommand("your.exe"); FLASH网站常用预载特效剖析 9bt中国设计秀
flash网站以它的构思精巧,绚丽多彩为大多数前卫设计者偏爱。它给人带来的视觉,音效的冲击,与传统网页的设计比较,有巨大的吸引力。鉴于网速的问题,我们需要考虑制作loading来完善flash站点。假如有很多的外部wsf文件需要载入进主swf文件,要怎么样才能实现呢?今天,我们就来探讨一下类似国外著名站点2advanced(www.2advanced.com)预载页面的制作方法。(具体效果登陆该网站观摩) 9bt中国设计秀
先来学习一下一般loading的制作思路。它是用ActionScript来实现。新建一层,这层专门放Action, 9bt中国设计秀
第一帧, 9bt中国设计秀
ifFrameLoaded ("场景", frame) {//假如场景中地祯数已经载入 9bt中国设计秀
goto and play(“start”) //跳至并播放某某祯(自己设定的帧标签) 9bt中国设计秀
} 9bt中国设计秀
第二帧, 9bt中国设计秀
goto and play("场景1", 1)//跳至并播放第一祯循环 9bt中国设计秀
再加上一个load的MC循环播放在这两帧的中间,就OK了。很多新手对于loadmovie调用的外部swf在主swf里的定位很疑惑。其实很简单,如果是loadMovieNum进来的,在调用的外部swf文件第一帧加AS:this._x=100;this._y=200;(该坐标就是你要求外部swf在主swf场景里的位置坐标);如果是loadMovie语句调用swf到一个空MC,只要把空MC放到你要求外部swf所处的位置的左上角,比如:坐标(100,200)。 9bt中国设计秀
如果要实现精确下载的话,flash 5上就有了美妙的函数:getBytesLoaded() 和 getBytesTotal()。其中:getBytesLoaded()可以让我们得到已经下载的字节数,而getBytesTotal()则告诉我们该文件一共有多少字节。我们在主场景做一个动态文本设置变量为input,Bar为一矩形长条的实例名,其长度为100,然后在舞台上将Bar长度变为1。在第一帧上加as: 9bt中国设计秀
_root.onLoad = function () { 9bt中国设计秀
totalBytes = _root.getBytesTotal(); 9bt中国设计秀
} 9bt中国设计秀
_root.onEnterFrame = function () { 9bt中国设计秀
loadedBytes = _root.getBytesLoaded(); 9bt中国设计秀
percentDone = int((loadedBytes/totalBytes)*100); 9bt中国设计秀
//显示下载进度为number% 9bt中国设计秀
output = percentDone+"% of File loaded"; 9bt中国设计秀
//进度条的X尺寸为下载进度percentDone 9bt中国设计秀
_root.bar._xscale=percentDone; 9bt中国设计秀
// 如果load完毕 9bt中国设计秀
if (percentDone >= 100) { 9bt中国设计秀
// goto frame 2 9bt中国设计秀
this.gotoAndStop (2); 9bt中国设计秀
// 终止这个循环 9bt中国设计秀
_root.onEnterFrame = null; 9bt中国设计秀
} 9bt中国设计秀
};9bt中国设计秀

第五:新建一层,在第一帧上写代码: 9bt中国设计秀
stop(); 9bt中国设计秀
but1.onRelease=function(){ 9bt中国设计秀
//设置一变量来存储我们要load的swf文件名称 9bt中国设计秀
nextMovie="content1.swf"; 9bt中国设计秀
//告诉over mc 去播放close动画。 9bt中国设计秀
cover.gotoAndPlay("close"); 9bt中国设计秀
} 9bt中国设计秀
but2.onRelease=function(){ 9bt中国设计秀
nextMovie="content2.swf"; 9bt中国设计秀
cover.gotoAndPlay("close"); 9bt中国设计秀
} 9bt中国设计秀
but3.onRelease=function(){ 9bt中国设计秀
nextMovie="content3.swf"; 9bt中国设计秀
cover.gotoAndPlay("close"); 9bt中国设计秀
} 9bt中国设计秀
第六:主swf文件完工,我们来继续制作要载入的swf。在这里,我们为了叙述简便,只做两帧。影片大小为550×184,和content一样大。第一帧加代码(相信大家不陌生了) 9bt中国设计秀
this.onEnterFrame = function() { 9bt中国设计秀
//检查是否load完毕 this指的是被调用的对象。 9bt中国设计秀
if (this.getBytesLoaded()Total = this.getBytesTotal()/1000; 9bt中国设计秀
Received = this.getBytesLoaded()/1000; 9bt中国设计秀
Percentage = (Received/Total)*100; 9bt中国设计秀
//开始进度条动画 9bt中国设计秀
_root.cover.loadbar._xscale= Percentage; 9bt中国设计秀
} else { 9bt中国设计秀
//当完全载入 9bt中国设计秀
gotoAndStop(2); 9bt中国设计秀
//告诉over mc去播放open动画。 9bt中国设计秀
_root.cover.gotoAndPlay("open"); 9bt中国设计秀
//取消enterframe 动作 9bt中国设计秀
this.onEnterFrame = null; 9bt中国设计秀
} 9bt中国设计秀
}; 9bt中国设计秀
stop(); 9bt中国设计秀
第二帧我随便做了一个mc,大家在实践中可以做自己喜欢的动画。只是测试的目的,我们做类似的swf共3个,文件名起为content1,content2,content3。需要和主swf文件保存在同一文件下。 9bt中国设计秀
9bt中国设计秀
【精彩】FSCommand功能详解--Jimsons制作 9bt中国设计秀
9bt中国设计秀
因为很多人对FSCommand的某些功能都不是很了解 9bt中国设计秀
经常发贴而又得不到有效的回答 9bt中国设计秀
因此我整理了一些资料希望对大家有帮助 9bt中国设计秀
9bt中国设计秀
fscommand(cmd_string, arg_string) 9bt中国设计秀
执行主机端指令。cmd_string指定所要执行的指令名,可为FlashPlayer的 9bt中国设计秀
指令或浏览器javascript函数。arg_string声明该指令所用到的参数。 9bt中国设计秀
FlashPlayer的指令有(只能在独立播放器时使用): 9bt中国设计秀
"fullscreen" 是否全屏播放,参数为true或false 9bt中国设计秀
"allowscale" 是否允许通过拉伸窗口缩放影片,参数为true或false 9bt中国设计秀
"showmenu" 是否在播放器显示菜单,参数为true或false 9bt中国设计秀
"trapallkeys" 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复 9bt中国设计秀
"save" 隐藏属性,作用是存变量到文本文件. 9bt中国设计秀
视窗显示),参数为true或false。但Alt+F4系统快捷 9bt中国设计秀
键(关闭窗口)依然可用。 9bt中国设计秀
"exec" 运行arg_string所指定的文件。 9bt中国设计秀
9bt中国设计秀
■□ FSCommand语句中的exec命令可以使swf 文件具有读写磁盘的功能 9bt中国设计秀
9bt中国设计秀
这部分内容说的是,FSCommand->exec命令与操作系统进行交互的用法,包括如何打开本地文件,存储文件,建 9bt中国设计秀
9bt中国设计秀
立目录,打开浏览器窗口以及其它外部程序。针对MAC机和PC机使用不同的操作系统,FSCommand语句在实际写 9bt中国设计秀
9bt中国设计秀
法上不尽相同,本文以PC机为例进行说明。(MAC机中的情况不作翻译) 9bt中国设计秀
9bt中国设计秀
适用于Windows 9X的FSCommand->exec命令详细说明: 9bt中国设计秀
(注:若要将以下命令句法移植到NT/2000/Me上,不能原封不动的照搬,需要略作改动,请自行实践。) 9bt中国设计秀
9bt中国设计秀
1、存储文件到硬盘 9bt中国设计秀
9bt中国设计秀
有时我们想要在用户的机子上留下cookie,或在用户的硬盘上存储一些其它类型的信息,唯一可行的方法就是 9bt中国设计秀
9bt中国设计秀
借助FSCommand,它通过调用用户Windows系统的command.com命令打开MS-DOS窗口实现文件的存储。因为使用 9bt中国设计秀
9bt中国设计秀
DOS命令行的方式生成文件,所以MS-DOS窗口是必然要出现的,但在高配置机子上,这个过程一闪而过,用户 9bt中国设计秀
9bt中国设计秀
不易察觉。使得该命令生效的前提是,含有这个FSCommand语句的swf文件必须是在本机上运行,而不是通过网 9bt中国设计秀
9bt中国设计秀
络来访问。 9bt中国设计秀
9bt中国设计秀
举例:将swf文件中文本输入框(变量名为:textbox)的内容存到一个新创建的和swf文件位于相同目录下的名 9bt中国设计秀
9bt中国设计秀
为textfile.txt的文件中,并作为值赋给新的变量var。如下书写FSCommand 语句: 9bt中国设计秀
9bt中国设计秀
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部: 9bt中国设计秀
在Command框中填写:exec (不要复选其后的Expression复选框) 9bt中国设计秀
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add 9bt中国设计秀
9bt中国设计秀
"var=" add textbox add ">textfile.txt" (一定要将其后的Expression复选框打上钩!) 9bt中国设计秀
若在Expert模式下编写,则应写成: 9bt中国设计秀
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add "var=" 9bt中国设计秀
9bt中国设计秀
add textbox add ">textfile.txt"); 9bt中国设计秀
9bt中国设计秀
说明:一个chr(9) 表示一个空格;/c为command.com的参数,加上这个参数其后的命令才能被执行;>是重定向 9bt中国设计秀
9bt中国设计秀
符,我们正是靠它将变量值写入textfile.txt中。另外,还可指定文件存放目录,如要在用户桌面上建立 9bt中国设计秀
9bt中国设计秀
textfile.txt文件,那么将">textfile.txt"改为">c:windowsdesktoptextfile.txt" 9bt中国设计秀
【注】: 是转意字符。在Flash中,“ ”被当成保留关键字,已失去了本来的意义,所以要想显示斜杠 9bt中国设计秀
9bt中国设计秀
,必须加前缀转意符 ,使之是还原本来的意义,连在一起写就成了两个斜杠的形式。又比如,要想表示单引 9bt中国设计秀
9bt中国设计秀
号,须写成 ’ 这样的形式;实现回车的效果,须用转意符号 r 。 9bt中国设计秀
9bt中国设计秀
2、删除硬盘上的文件 9bt中国设计秀
9bt中国设计秀
通过FSCommand->exec命令还可以删除硬盘上的文件,下面的语法只适用于Windows 9X系统。 9bt中国设计秀
9bt中国设计秀
举例:将前面创建的textfile.txt删除 9bt中国设计秀
9bt中国设计秀
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部: 9bt中国设计秀
在Command框中填写:exec (不要复选其后的Expression复选框) 9bt中国设计秀
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add 9bt中国设计秀
9bt中国设计秀
"textfile.txt" (一定要将Expression复选框打上钩!) 9bt中国设计秀
若在Expert模式下编写,则应写成: 9bt中国设计秀
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add 9bt中国设计秀
9bt中国设计秀
"textfile.txt"); 9bt中国设计秀
9bt中国设计秀
警告:使用这个命令要慎重,因为是采用DOS命令删除文件,在回收站里是看不到的被删文件的。还有,万勿用 9bt中国设计秀
9bt中国设计秀
来做坏事。 9bt中国设计秀
9bt中国设计秀
3、在硬盘上新建目录 9bt中国设计秀
9bt中国设计秀
通过执行FSCommand->exec生成的cookie若置于和所属swf文件位于同一目录下,容易被识别,用户在清理系统 9bt中国设计秀
9bt中国设计秀
垃圾时极有可能将其清除,那样的话就失去意义了,考虑到用户一般不会轻易删除文件夹,我们专门新建一个 9bt中国设计秀
9bt中国设计秀
目录存放cookie不失为一个好计。 9bt中国设计秀
9bt中国设计秀
举例:在swf文件所在目录下新建一个名为textfile的子目录 9bt中国设计秀
9bt中国设计秀
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部: 9bt中国设计秀
在Command框中填写:exec (不要复选其后的Expression复选框) 9bt中国设计秀
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add 9bt中国设计秀
9bt中国设计秀
"textfile" (一定要将Expression复选框打上钩!) 9bt中国设计秀
9bt中国设计秀
若在Expert模式下编写,则应写成: 9bt中国设计秀
fscommand("exec","command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add "textfile" 9bt中国设计秀
9bt中国设计秀
说明:md是DOS命令集中用来建立目录的专用命令;如果换成rd则可以删除硬盘上已存在的目录,提醒诸位三思而后行。 9bt中国设计秀
 9bt中国设计秀

■□ 用FSCommand调用EXE可执行程序 9bt中国设计秀
9bt中国设计秀
我们都知道,调用一个可执行程序(扩展名为.exe或.bat或.com) 和打开一个一般文件是不同的,前者可自动运 9bt中国设计秀
9bt中国设计秀
行,而后者需要相应的可执行程序支持打开,像扩展名为doc和pdf的文件必须由相应的可执行程序才能打开阅 9bt中国设计秀
9bt中国设计秀
读。分三种情况考虑: 9bt中国设计秀
● 开启一个外部可执行程序:扩展名.exe可以省略。具体来说,若一个exe文件(假设为another.exe)和该 9bt中国设计秀
9bt中国设计秀
swf文件本身在同一个目录下,则直接键入程序文件名即可。如: 9bt中国设计秀
fscommand("exec","another") 9bt中国设计秀
否则,应写明路径。如打开IE浏览器窗口: 9bt中国设计秀
fscommand("exec","c:progra~1intern~1iexplore") 9bt中国设计秀
//注意DOS下对长文件(夹)名的处理形式。 9bt中国设计秀
下面两种情况也可以不写路径—— 9bt中国设计秀
(1)当可执行程序是在c:windows目录下时,可以不写路径。如调用windows的计算器,下面三种写法均可: 9bt中国设计秀
fscommand("exec","c:windowscalc.exe") 9bt中国设计秀
fscommand("exec","c:windowscalc") 9bt中国设计秀
fscommand("exec","calc") 9bt中国设计秀
(2)调用DOS命令也可省略路径。如下例打开MS-DOS下的Edit编辑器: 9bt中国设计秀
fscommand("exec","edit.com") 9bt中国设计秀
如果熟悉批处理文件写法,通过FSCommand->exec命令执行批处理文件可以一举多得。 9bt中国设计秀
9bt中国设计秀
● 调用默认程序打开一般文件:这种情况不能省略扩展名,同样要注意文件路径。比如我们要打开和该swf文 9bt中国设计秀
9bt中国设计秀
件本身在同一个目录下的名为fs.htm的文件,则命令写作: 9bt中国设计秀
fscommand("exec","start" add chr(9) add "fs.htm") 9bt中国设计秀
执行后,如果用户机子默认的浏览器是IE,则自动调用IE打开这个网页文件。 9bt中国设计秀
9bt中国设计秀
● 指定程序打开一个一般文件:Windows并未规定一种类型的文件只能由一种程序打开(比如.txt文件既可以 9bt中国设计秀
9bt中国设计秀
用记事本打开,也可以用写字板阅读),这就使我们可以任意选择可用于打开一般文件的可执行程序。当然前 9bt中国设计秀
9bt中国设计秀
提是在大多数用户机子上都能够找到我们所指派的可执行程序,因此实际上能选取的是那些常用的、随windows 9bt中国设计秀
9bt中国设计秀
9X预装的程序,像记事本(notepad)、写字板(write)、IE浏览器(iexplorer)、command命令等等。如我们希望 9bt中国设计秀
9bt中国设计秀
调用客户机上的“写字板”程序,打开一个和该swf文件本身在同一个目录下的名为fs.txt的文本文件,可以这 9bt中国设计秀
9bt中国设计秀
么写命令: 9bt中国设计秀
fscommand("exec","c:windowswrite.exe" add chr(9) add "fs.txt") 9bt中国设计秀
9bt中国设计秀
前已述及,凡是在c:windows目录下的可执行程序,在书写FSCommand->exec命令时都可以省略路径,简写成: 9bt中国设计秀
9bt中国设计秀
fscommand("exec","write" add chr(9) add "fs.txt") 也是正确的。 9bt中国设计秀
9bt中国设计秀
以上只对FlashMX以下版本才有效 9bt中国设计秀
---------------------------------------------- 9bt中国设计秀
9bt中国设计秀
Flash MX中增强了安全性,它虽然也可以调用exe文件,但它是有条件的。 9bt中国设计秀
9bt中国设计秀
1.你的flash文件不能是swf,而应该是exe文件,比如jimsons.exe; 9bt中国设计秀
2.要在jimsons.exe同一目录中新建一命名fscommand目录,你要调用的外部可执行文件要在fscommand目录下, 9bt中国设计秀
9bt中国设计秀
且不能在子目录下,比如是notepad.exe,请copy notepad.exe到fscommand目录下; 9bt中国设计秀
3.action的写法为: 9bt中国设计秀
on (release) { 9bt中国设计秀
fscommand("exec", "notepad.exe"); 9bt中国设计秀
} 9bt中国设计秀
4.导出exe格式 9bt中国设计秀
发布方法如下: 9bt中国设计秀
选中 File -> Publish Settings 或按ctrl+shift+F12 9bt中国设计秀
它默认的发布类型为HTML(.html)与Flash(.swf), 9bt中国设计秀
你将这两项取消,选中Windows Projectors(.exe) 9bt中国设计秀
即可将你的Flash文件直接发布为exe可执行文件 9bt中国设计秀
按ctrl+F12即可发布 9bt中国设计秀
若你的文件尚未保存则它会发布在你flash的安装目录中 9bt中国设计秀
若你的文件已保存则会发布在你的文件同一目录下 9bt中国设计秀
还有一种比较简便的方法是: 9bt中国设计秀
先用 File -> Export Movie...或按Ctrl+Alt+Shift+S 导出swf文件 9bt中国设计秀
再打开这个文件,通过 文件 -> 创建播放器 即可产生EXE可执行文件 9bt中国设计秀
9bt中国设计秀
下面有个例子 9bt中国设计秀
9bt中国设计秀
点击浏览该文件 9bt中国设计秀
9bt中国设计秀
=================================================================== 9bt中国设计秀
9bt中国设计秀
□■ 关于 Fscommand 和 javascript 的配合 9bt中国设计秀
9bt中国设计秀
在网页里面,flash播放器是可以和浏览器通讯的。你可以在flash 里面用 Fscommand() 发送参数给浏览器, 9bt中国设计秀
9bt中国设计秀
然后在浏览器里面用 Movie1_DoFscommand() 获得参数。movie1是你在html里面给这个swf文件的ID名。 9bt中国设计秀
9bt中国设计秀
·新建一个flash,插入一个按钮 9bt中国设计秀
在按钮上添加AS 9bt中国设计秀
9bt中国设计秀
on (release) { 9bt中国设计秀
fscommand("press"); 9bt中国设计秀
} 9bt中国设计秀
9bt中国设计秀
· 作用为当鼠标按下这个按钮时,发出一个名字叫"press"的FS Command 9bt中国设计秀
9bt中国设计秀
· 然后把它插进网页中,给它起一个ID的名字,如"jimsons"; 9bt中国设计秀
9bt中国设计秀
· 然后在中加进如下的代码: 9bt中国设计秀
9bt中国设计秀
9bt中国设计秀
9bt中国设计秀
//运用VBScript,当FLASH发出FS Command时,执行flash1_DoFSCommand(command, args); 9bt中国设计秀
//flash1为FLASH动画的id ,这也是运用FS Command时一般所需要的格式9bt中国设计秀

□■ Flash Methods函数集 9bt中国设计秀
9bt中国设计秀
   看了上面的例子,你一定对Flash Methods有所了解了吧!下面我来介绍一下Flash Methods的全部函数: 9bt中国设计秀
9bt中国设计秀
Flash Method函数 函数解释 9bt中国设计秀
9bt中国设计秀
Play() 使已停止了的FLASH动画在停止处开始播放 9bt中国设计秀
9bt中国设计秀
格式:YourMovieName.Play() 9bt中国设计秀
9bt中国设计秀
StopPlay() 停止正在播放的FLASH文件? 9bt中国设计秀
9bt中国设计秀
格式:YourMovieName.StopPlay() 9bt中国设计秀
9bt中国设计秀
IsPlay() 如果FLASH文件正在播放中,此函数值为true? 9bt中国设计秀
9bt中国设计秀
例如:if (YourMovieName.IsPlaying) 9bt中国设计秀
alert("Playing") 9bt中国设计秀
如当动画正在播放,就会弹出一个警告条。 9bt中国设计秀
9bt中国设计秀
GotoFrame(int frameNum) 控制FLASH跳到指定的frame 9bt中国设计秀
9bt中国设计秀
格式:YourMovieName.GotoFrame(10) 9bt中国设计秀
TotalFrames() 传回FLASH动画的总帧数? 9bt中国设计秀
?? 9bt中国设计秀
格式:YourMovieName.TotalFrames() 9bt中国设计秀
CurrentFrame() 传回FLASH动画目前所在的帧数减一 9bt中国设计秀
FS Command控制的帧都是由0开始的 9bt中国设计秀
9bt中国设计秀
格式:YourMovieName.CurrentFrame()+1 9bt中国设计秀
Rewind() 控制FLASH动画条会第一帧并停止? 9bt中国设计秀
9bt中国设计秀
格式:YourMovieName.Rewind() 9bt中国设计秀
SetZoomRect(int left, 9bt中国设计秀
int top,int right,int bottom) 放大指定的坐标区域(int left=左坐标的整数;int right为右坐标的整数 9bt中国设计秀
9bt中国设计秀
;int top和int bottom分别表示上坐标和下坐标的整数) 9bt中国设计秀
? 9bt中国设计秀
Zoom(int percent) 改变FLASH动画的大小。这函数只允许你将放大后的 图片缩小到原图片的大小 9bt中国设计秀
9bt中国设计秀
YourMovieName.Zoom(50)放大一倍 9bt中国设计秀
YourMovieName.Zoom(200)缩小一倍 9bt中国设计秀
YourMovieName.Zoom(0)恢复原始尺寸 9bt中国设计秀
9bt中国设计秀
Pan(int x,int y,int mode) 平移放大后的FLASH动画。x,y表示移动目的地的x轴和y轴的坐标;int mode表示 9bt中国设计秀
9bt中国设计秀
表示坐标的单位,但其值为"0"时,以象数为单位,为"1"时,以百分比为单位。?? 9bt中国设计秀
? 9bt中国设计秀
PercentLoaded() 回传0~100的值,此值为浏览器载入FLASH的百分比程度。可用此功能制作loading画面 9bt中国设计秀
9bt中国设计秀
如:if (YourMovieName.PercentLoaded()<100) 9bt中国设计秀
YourMovieName.GotoFrame(YourMovieName.PercentLoaded()) 9bt中国设计秀
9bt中国设计秀
LoadMovie(int layer,String url) 载入其他的FLASH动画,"int layer"为level的值,数值越大,动画就放得 9bt中国设计秀
9bt中国设计秀
越上;"string url"为要栽入的动画的路径和名称?? 9bt中国设计秀
如:LoadMovie(1, "yourmovie.swf")?表示把yourmovie.swf的动画加载到原来的动画上,level为1 9bt中国设计秀
LoadMovie("", "yourmovie.swf")表示卸载yourmovie.swf动画? 9bt中国设计秀
9bt中国设计秀
TGotoFrame(String target,int frameNum) 控制动画跳到指定的movie clip的第几帧 9bt中国设计秀
TGotoFrame("_flash0/mm",10)表示跳到instance name为mm的movie clip的第十帧 9bt中国设计秀
9bt中国设计秀
TGotoLabel(String target,String label) 控制动画跳到指定的movie clip的指定的label? 9bt中国设计秀
TGotoFrame("_flash0/mm","ten") 9bt中国设计秀
9bt中国设计秀
TCurrentFrame(String target) 传回指定的movie clip的当前所在帧减一? 9bt中国设计秀
fras=YourMovieName.TCurrentFrame("_flash0/mm")+1 9bt中国设计秀
9bt中国设计秀
TCurrentLabel(String target) 传回指定的movie clip当前所在的label? 9bt中国设计秀
label=play_movie.TCurrentLabel("_flash0/mm") 9bt中国设计秀
9bt中国设计秀
TPlay(String target) 控制指定的movie clip从停止出开始播放 9bt中国设计秀
YourMovieName.Play("_flash0/mm") 9bt中国设计秀
9bt中国设计秀
TStopPlay(String target) 控制指定的movie clip停止播放?? 9bt中国设计秀
YourMovieName.Play("_flash0/mm") 9bt中国设计秀
GetVariable(variable_name) 获取变量 9bt中国设计秀
SetVariable(variable_name,value) 变量赋值 9bt中国设计秀
TCallFrame(movie_clip,frame_number) call指定帧上的action 9bt中国设计秀
TCallLabel(movie_clip,label) call指定标签上的action 9bt中国设计秀
TGetProperty(movie_clip,property) 获取movie_clip的指定属性 9bt中国设计秀
TSetProperty(movie_clip,property,number) 设置movie_clip的指定属性 9bt中国设计秀
9bt中国设计秀
  需要说明的是:最后两个函数在获取movie_clip的属性时,是以0到18的数字来表示的。下面列出它们分别 9bt中国设计秀
9bt中国设计秀
代表的意思: 9bt中国设计秀
9bt中国设计秀
属性 作用 数字 使用方式 9bt中国设计秀
X Position X坐标 0 Get,Set 9bt中国设计秀
Y Position Y坐标 1 Get,Set 9bt中国设计秀
X Scale X方向缩放比率 2 Get,Set 9bt中国设计秀
Y Scale Y方向缩放比率 3 Get,Set