Flash的本地共享对象是在用户机器上实现持久化存储的数据集合。Flash可以从程序中控制这些数据集合,向其中存入或者从中读取大量的信息数据。
使用SharedObject对象
对象说明:SharedObject(共享对象)可以看作是小型的数据库,我们可以用它来存储任何Flash支持的数据类型,比如数字、字符串、数组和对象等等。SharedObject按存放位置可分为本地型(存在客户端)和远程型(存在服务器端)。本地型共享对象的扩展名为.sol。
用法:下面是关于本地型共享对象的部分最主要的方法、属性的介绍。
1)getLocal(name) 方法 “name”参数共享对象名,返回共享对象的参照
2)flush 方法 立即把数据写入共享对象
3)data 属性 存取共享对象数据的通道
只需要掌握以上这些知识就可以用共享对象来存取外部数据了。
SharedObject.getLocal(objectName [, localPath])
其中objectName是该共享对象的名字,localPath即共享对象所在路径。
// 创建一个本地保存数据的对象
var cookie:Object = SharedObject.getLocal("cookie");
方法会在默认的路径下生成一个cookie.sol文件。文件的默认大小不能超过100k,当然可以通过鼠标右击flash窗口,选择设置来管理或者禁用您的本地共享对象。可以让每个flash独立使用自己的SharedObject,当然也可以做一个全域的SharedObject让所有的swf使用,只要给localPath 赋值 "/"。
在win2k和 win xp中,默认路径为C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\#SharedObjects (username为机器的用户名)
每个对象都会有一个只读属性data,用来存储被存储到“数据特性”中的对象的属性,这些属性可以共享/存储,每一个属性可以是各种基础数据类型(数组,数字布尔值等)对象。现在cookie已经存储在 SharedObject中了,以后你可以通过对SharedObject数据属性的存取来实现对cookie的存取。例如:
cookie.data.name = "张三";
cookie.data.password = "123456";
cookie.data.rememberPassword = true;
共享对象的写入会在应用程序退出时自动执行,也可以通过cookie.flush()强制写入。
示例:按方法一设置场景,然后输入下面的代码。
- var user_so = sharedobject.getlocal("user"); // 建立共享对象的参照
- send_btn.onRelease = function() {
- with (user_so) {
- data.name = name; //用data属性和flush方法保存用户输入的用户名
- flush();
- }
- };
复制代码
本地型共享对象只能把数据保存在默认路径下,而且扩展名只能是.sol。这种方法的作用与设置cookies的作用类似。
只有必须在不同flash对象之间共享数据时才需要在SharedObject.getLocal()方法中指定path参数,将所有必须共享数据的flash对象都单独放到一个目录下。
http://www.adobe.com/cn/products/flashplayer/articles/lso/
分享到:
相关推荐
用于单机游戏中的 进度保存。 SharedObject 望有帮助
#资源达人分享计划#
有时候会碰到cuda报错,OSError: libcudart.so.10.0: cannot open shared object file: No such file 原因是cuda动态链接库没有链接上。 解决方法如下: cuda10.0: sudo ldconfig /usr/local/cuda-10.0/lib64 cuda...
AS3 SharedObject 本地通讯 小例子!以前很久的时候参考网上例子学习的!刚接触本地通讯的童鞋可以试试。
仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可
shared Object对象相当强大,他提供了在多个客户端实时数据共享,并且可以存储在客户端或远程服务器。可以把本地共享对象比作cookies,把远程共享对象看作实时的数据传输设备。
共享对象一个模块,通过使用提供一个共享的同步对象,通过浏览器的多个实例。 如果您想在 web 应用程序之间近乎实时地共享信息,则很有用。 wamp 协议真的很棒,可以导致使用无服务器集中式 Web 应用程序。如何使用 ...
自己动态库映射地址不一样
SOLReader is a decompiler for the .sol files used by flash to save its own cookie (the SharedObjects)
本编辑器是我自己做的,最初是因为玩一个flash做的游戏(金庸群侠传2),感觉升级太慢,想到要修改其保存的属性值,之后就有了此作。原文件和详细说明都打包在里面! 解压密码:scriptfan@qq.com
Sol Reader是为方便Flash设计人员读取SharedObject数据而设计的。 对象结构以树形结构显示,并能在树上标识出每一个成员的值类型。成员值则直接显示在结果文本框内。 支持常用的类型,如:Number,String,Boolean,...
进程间通信之共享内存 shared memory ) 1 效率最高 2 存在竞态 七种进程间通信方式: 一 无名管道( pipe ) 二 有名管道( fifo ) 三 共享内存 shared memory 四 信号 sinal 五 消息队列 message queue ) ...
OSError: libcusparse.so.11: cannot open shared object file: No such file or directory 搜索全网,也没找到解决方案。最快解决方案如下: 1、在 /home/user/anaconda3/lib/ 中放入缺少的 libcusparse.so.11 文件...
ubuntu报错:libg2c.so.0:cannot open shared object file: no such file or directory/wrong ELF class(已解决)-附件资源
Python_multiprocessing_6_共享内存_shared_memory_(多进程_多核运算_教学教程tutori
libXp.so.6: cannot open shared object file: No such file or directory [oracle@dbadb1 ~]$ ls -ld /usr/lib/libXp.so.6 ls: /usr/lib/libXp.so.6: No such file or directory [root@dbadb1 zhuxu]# rpm -ivh...
由于 SharedObject 类是无法直接保存 BitmapData 对象的,所以只能将 BitmapData 的所有位图像素的每一个像素取 ARGB 值后保存。一张位图按500像素 x 500像素算,自定义 ++ 需要3秒多,而 shit 方法脚本超时。所以...
针对以下帖子的实验(Linux版): http://topic.csdn.net/u/20100317/09/1cb8411a-74a9-4f05-ae5e-1e068b06654c.html
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory [root@SnsWeb ~]# /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --log...