笔者将本文分为2个部分为大家讲解如何利用Flash Cookie实现游戏存档技术第一部分:语法讲解; 第二部分:注意事项; 本文开发环境 Flash8.0 AS 2.0 第一部分:语法讲解: Flash主要是利用SharedObject类实现本地存储信息(类似Cookie,下文用Cookie代替),在AS调用如下图:
SharedObject 类用于在用户计算机上读取和存储有限的数据量。共享对象提供永久贮存在用户计算机上的对象之间的实时数据共享。 用法: 创建Cookie
//实例化一个SharedObject对象FlashCookie,名为:CookieNameQQX //如果CookieNameQQX不存在则创建该Cookie,如果存在则读取 var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX"); //定义一个Cookie变量UserName并赋值为:千秋学 FlashCookie.data.UserName = "千秋学"; FlashCookie.data.Sex = "男"; FlashCookie.data.Life = 100; //可以存储数组数据 var Score_array:Array = new Array(80,90,99,70,84); FlashCookie.data.Score = Score_array; //写入Cookie FlashCookie.flush();
删除Cookie:
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX"); FlashCookie .clear(); 读取Cookie值
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX"); trace(FlashCookie.data.UserName); trace(FlashCookie.data.Score[0]); 第二部分:注意事项: 1、 Flash Cookie技术依赖于本地设置 有时可能不允许 SWF 文件写入本地共享对象,有时可能在您不知情的情况下删除在本地共享对象中存储的数据。Flash Player 用户可以管理对单个域或所有域可用的磁盘空间。当用户降低可用磁盘空间量时,一些本地共享对象可能会被删除。
2、 Flash Player 用户还具有隐私控件,它们可防止第三方域(当前浏览器地址栏中域之外的域)读取或写入本地共享对象。 例如:C:\no1.swf 创建了一个名为aa的Cookie,该Cookie将不会被C:\no2.swf所获取;也就是说C:\no1.swf与C:\no2.swf所创建的Cookie,即使名字相同也不会互相影响;同样的道理,基于网络的flash文件,http://www.03389.com/no1.swf 创建的Cookie也不会被其它文件网络文件所访问。 3、 Flash Cookie文件存储在本地文件夹 C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player\#SharedObjects\ 4、Flash Cookie可以被修改以及被访问。(基于此点,我们下次讲讲解Flash Cookie游戏修改器)
作者:千秋学 |