
SWF中设置退出按钮的目的是当用户用鼠标点击的时候退出,但是播放SWF的环境并不一样,为了能达到同样的效果,当点击退出时,执行如下代码:
AS Code
switch (System.capabilities.playerType.toLowerCase ()) { case "standalone" : fscommand ("quit", true); break; case "external" : flash.external.ExternalInterface.call ("sendQuit"); break; case "plugin" : case "activex" : flash.external.ExternalInterface.call ("window.close()"); break; }
就是根据播放器的类型来分别处理。
需要注意的是:
1、当在网页中播放时,需要在服务器上查看网页或者添加到信任区域才能有效,否则会弹出安全警告。
2、当包含在其他程序中时,需要处理退出消息sendQuit.
在使用loadMovieNum加载文件时,有时需要相对路径来写,比如用到../指向当前文件的上一级,当在Flash创作环境下测试的时候是有效的,但是离开这个环境就无效了。为此,我们用处理一下这个路径:
AS Code
// 以下是从Command命令中添加的代码 // ++++++++++++++++++++++ 加载替代函数 ++++++++++++++++++++++++ // @param str:String 加载的文件名 // @param depth:Number 加载的深度 // @return Void function loadFile (str:String, depth:Number):Void { depth == undefined ? depth = 0 : null; var _URI:String = this._url; var catalog:String = _URI.substr (0, _URI.lastIndexOf ("/")); while (str.substr (0, 3) == "../") { str = str.substr (3); catalog = catalog.substr (0, catalog.lastIndexOf ("/")); } catalog += "/"; if (true == _global.loader) { this._parent.loadSWF (catalog + str); } else { loadMovieNum (catalog + str, depth); } }
使用如下代码测试
AS Code
loadFile("../../d.swf") loadFile("../d.swf") loadFile("d.swf")
输出如下信息
Error opening URL "file:///C|/DOCUME%7E1/s520/d.swf"
Error opening URL "file:///C|/DOCUME%7E1/s520/LOCALS%7E1/d.swf"
Error opening URL "file:///C|/DOCUME%7E1/s520/LOCALS%7E1/Temp/d.swf"
说明这个函数是有效的。
很多人使用龙卷风破解版的Flash CS3,在Ctrl+Enter测试影片时遇到进度条跑了一圈后什么都没有的的现象。我遇到了这个问题,网上的说法是使用了中文字体造成的,也就说静态文本使用中文字体设置了加粗或倾斜,然后未选使用设备字体就会这样。但是如果要更改很多文本的设置是比较麻烦的。今天尝试多次终于找到一个方法
1、卸载所有版本的Flash CS3
2、将C:\Program Files\Common Files\Adobe文件夹下除了Acrobat之外的文件夹全部删除
3、安装官方试用版的
4、安装英文破解版
5、卸载试用版
6、安装龙卷风破解版
这样就OK了。第4步是否必须未验证。因为安装试用版和卸载耗费时间挺长的。