用Flash储存外部TXT文本和读取的方法?

1.例如我想储存一个舞台上的变量值,这个数值=100那我应该怎么做?2.我想把舞台上的一个为0的变量值,读取为刚才输出到TXT中的数值我应该怎么做。请把代码按照例子输入,... 1.例如我想储存一个舞台上的变量值,这个数值=100
那我应该怎么做?
2.我想把舞台上的一个为0的变量值,读取为刚才输出到TXT中的数值
我应该怎么做。

请把代码按照例子输入,并且每个段代码最好解释一下
另外应该注意些什么
我想制作一个Flash游戏,可是不知道如何做存档,希望各位老师指点~
展开
 我来答
百度网友b96d268
2010-03-31 · TA获得超过217个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:319万
展开全部
flash读取很简单 但是没办法存储文件 这个是adobe明确说明的 如果要用flash存储文件 就必须借助其他手段 最简单就是flash+js 当然 如果你有ASP jsp后台的 能就更好了。先给段读文件的代码 用的是as3脚本。
例如存储的文件还是用xml吧 别用txt 解析不方便
XML:
<config>
<test>100</test>
</config>

flash函数:
function readXML():void
{
var configLoader:URLLoader= new URLLoader();
var RequestXML:URLRequest = new URLRequest('config.xml');

configLoader.load(RequestXML);
configLoader.addEventListener(Event.COMPLETE, getConfig);//载入文件了 就执行getConfig函数
}

function getConfig(e:Event):void
{
configXML:XML=new XML();
configXML=XML(e.target.data);//创建一个xml变量 存放xml文件的数据
var getTest:String=configXML.test.toString();//获取test节点数据
}
然后你就能用这个getTest了。

再说说怎么存储,首先我们改变一下test的值。

configXML.test=50;
var XMLSTR:String=configXML.toXMLString();//把上面的configXML转化为字符窜
ExternalInterface.call("createxmltext",XMLSTR);//重要语句 调用js(就是html)上的createxmltext方法 参数是XMLSTR就是上面的xml字符窜

最后 发布这个flash 会生成一个html文件 用写字板打开,然后在<script>之间随便位置加入以下方法:

function createxmltext(test)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
//var path=server.MapPath("LuckDraw.xml")
//alert(IEabPath()+"LuckDraw.xml");
var f = fso.CreateTextFile(IEabPath()+"config.xml",true);

f.Write("<?xml version=\"1.0\" encoding=\"GB2312\" ?>"+test);
f.close();
}

就ok了 然后flash里面执行ExternalInterface.call("createxmltext",XMLSTR); js就会生成新的config.xml吧原来的覆盖掉 实现文件存储了
小众喜好cj
2010-03-31 · TA获得超过871个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:0
展开全部
我不知道你这个游戏是在什么环境下的,如果是在本地,存储不行,除非借助其他具有文件输出流的语言环境。读取可以,将一个.txt文件放在根目录,然后里面写上你想要读取的文本,然后在fla里写:

var request:URLRequest = new URLRequest("文本文件名称.txt");
var loader:URLLoader = new URLLoader();
var txt:TextField = new TextField();
loader.addEventListener(Event.COMPLETE,completeHandle);
loader.load(request);
addChild(txt);

function completeHandle(e:Event):void{
var loader2:URLLoader = URLLoader(e.target);
txt.text = loader2.data;
trace(loader2.data);
}

运行后你会发现,文本框里显示的就是文本文件里的内容。

如果是网络环境,比如基于http协议的网页访问,那么存储可以考虑用session或者cookies,读取亦然。也可以用服务器的方式生成存档文件,方法就是楼上那种~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式