学院首页>图形图像>FLASH>Flash MX中Button Object的用法

Flash MX中Button Object的用法

作者: 来源: 添加时间:2006-5-23 7:19:40
这个例子清楚地说明SharedObject的临时数据存储功能。首先,随机产生0-3的随机数作为待存数据,然后通过SharedObject的getLocal方法读取硬盘中文件为testMod.sol中的数据,判断内容里面名称为data的子值是否和待存数据相同或者根本无数据,条件成立则刷新存储构造数据data的data值并显示结果(“new data saved”)。

  要点:

  先覆盖原值,然后flush()一次(恰如其名——冲厕所)。

  最后显示当前值,如果和原值相同,则不会显示new data saved,即没存入硬盘。(图1)

(图1)

  应用:

  //prepare functions

  soLoad=function(src){
    return SharedObject.getLocal(src);
  }
  soSave=function(src,sdata){
    var tmpData= SharedObject.getLocal(src);
    for (var i in sdata)
      tmpData.data[i]=sdata[i];
    trace(tmpData.getSize());
    return tmpData.flush();
  }

  //from Demon.S function lib SharedObject.localDeleteAll

  SharedObject.prototype.localDeleteAll=function(){
    for(var i in this.data)
      delete this.data[i];
  return this.flush();
  }

  //main 2

  //init

  var mySo="testMod";
  var aryData={aritcle:"Flashmx new lighting world day10",author:"Demon.S",date:"4/8/2002",from:"DnVsystem",url:"http://www.dnvs.net"}

  //remote one:SharedObject.deleteAll(src);
  //local one:clearn local data

  var tempSO=SharedObject.getLocal(mySo);
  trace("clearing....garbage:" + (tempSO.LocalDeleteAll() ? "cleaned" : "fail in clearning local data"));

  //load & save

  if (soSave(mySo,aryData) && aryData){
    var mainData=soLoad(mySo);
    if (mainData) for(var i in mainData.data) trace(i+":"+mainData.data[i]);
    else trace("Fail in save ");
  }
  else trace("No Data");

第 2 页,共 3 页 [1] [2] [3]
站内搜索