分享
 
 
 

FlashMX本地保存数据的三种方法

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

谈到计算机操作,往往就不了数据操作,最基本的数据操作就是读取和保存数据。Flash程序很多时候也会用到数据操作,比如说载入外部文件就是读取数据。然而Flash保存数据的能力是很有限的。Flash 5时我们还可以用fscommond来本地保存外部文本文件,到了FlashMX时代,出于对安全因素的考虑,Micromedia取消了这个功能。

那是不是我们就无法用Flash MX保存数据了呢?回答是否定的,这里我就系统给大家介绍用Flash MX本地保存外部数据的三种方法。

方法一:使用MMsave函数

说明:这是FlashMX专门用来专门用来存盘的函数,出于对安全因素的考虑,Micromedia隐藏了它。这个函数还有另一种用法: MMSave(loadedMCName, saveMCName),其作用就是将载入的动画另存到一个新文件中,这个功能可以用来将压缩格式的swf转化成未压缩格式的swf,大家不防试一试。对于Windows98(me)用户来说,默认的存储路径是:Application Data\Macromedia\Flash MX\Configuration;对于Windows2000(xp)用户来说,默认的存储路径是:Documents and Settings\[User]\Application Data\Macromedia\Flash MX\Configuration。

用法:MMSave(textString, txtFileName)

参数:textString

字符串,用来记录要保存的数据内容

txtFileName

要保存的文本文件名

示例:在场景中建立一个动态文本(变量名为name)并设置一个按钮(实例名为send_btn)。然后在第一帧加入下面的代码。

send_btn.onRelease = function() {

MMSave(name, "../../../../../../data.txt");

};

按“Ctrl+Enter”测试一下,看是否能将输入的用户名保存在C盘的data.txt中。

点评:这个函数只能用在编辑器的调试播放下,在IE或者播放器中就不能用了。

方法二:使用SharedObject对象

对象说明:SharedObject(共享对象)可以看作是小型的数据库,我们可以用它来存储任何Flash支持的数据类型,比如数字、字符串、数组和对象等等。SharedObject按存放位置可分为本地型(存在客户端)和远程型(存在服务器端)。本地型共享对象的扩展名为.sol。对于Windows98(me)用户来说,默认的存储路径是:Application Data\Macromedia\Flash Player\服务器域名路径\Flash电影文件名.swf;对于Windows2000(xp)用户来说,默认的存储路径是:Documents and Settings\[User]\Application Data\Macromedia\Flash Player\服务器域名路径\Flash电影文件名.swf。

用法:下面是关于本地型共享对象的部分最主要的方法、属性的介绍。

1)getLocal(name)

方法

“name”参数共享对象名,返回共享对象的参照

2)flush

方法

立即将数据写入共享对象

3)data

属性

存取共享对象数据的通道

你只需要掌握以上这些知识就可以用共享对象来存取外部数据了。

示例:按方法一设置场景,然后输入下面的代码。

var user_so = sharedobject.getlocal("user"); // 建立共享对象的参照

send_btn.onRelease = function() {

with (user_so) {

data.name = name; //用data属性和flush方法保存用户输入的用户名

flush();

}

};

动作说明:在这里我们首先一个,然后。

点评:本地型共享对象只能将数据保存在默认路径下,而且扩展名只能是.sol。这种方法的作用与设置cookies的作用类似。方法三:结合JavaScript

还是在Flash 5时,ActionScript就可以与JavaScript相互通信了。那又该怎样使用JavaScript本地保存Flash MX的数据呢?首先我们得用fscommond命令将Flash MX获得的数据传递到JavaScript中。

步骤1:按方法一设置场景,然后在按钮上加入下面代码。

on (release) {

fscommand("send_var", name); //fscommand参数为name变量

}

步骤2:以Flash5的格式发布Flash电影和html文件,然后打开html文件,在与之间加入如下代码:

\n');

}

//--

\n');

}

//--

你不必知道这些JavaScript和VbScript语句的具体含义,只要明白我们已经将name变量的值传递给了args就行了。接下来我们还得将args的值写入文本文件,最简单的办法就是使用FileSystemObject(文件系统对象)。添加如上红色部分的代码。关于FileSystemObject的用法,请参考<<JScript 语言参考 >>。

步骤3:运行html文件,输入一个用户名,点击按钮,用户名就保存在C盘的testfile.txt中了。

严格来说, 这应该算是FlashMX借用Flash 5语句来实现本地保存数据的方法。

至于选择哪种方法,视具体情况而定。如果你是开发游戏,适宜用第一、二种方法;如果你不使用FlashMX的新增动作角本,可以试一试最后一种方法。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有