用Flash储存外部TXT文本和读取的方法?
1.例如我想储存一个舞台上的变量值,这个数值=100那我应该怎么做?2.我想把舞台上的一个为0的变量值,读取为刚才输出到TXT中的数值我应该怎么做。请把代码按照例子输入,...
1.例如我想储存一个舞台上的变量值,这个数值=100
那我应该怎么做?
2.我想把舞台上的一个为0的变量值,读取为刚才输出到TXT中的数值
我应该怎么做。
请把代码按照例子输入,并且每个段代码最好解释一下
另外应该注意些什么
我想制作一个Flash游戏,可是不知道如何做存档,希望各位老师指点~ 展开
那我应该怎么做?
2.我想把舞台上的一个为0的变量值,读取为刚才输出到TXT中的数值
我应该怎么做。
请把代码按照例子输入,并且每个段代码最好解释一下
另外应该注意些什么
我想制作一个Flash游戏,可是不知道如何做存档,希望各位老师指点~ 展开
2个回答
展开全部
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吧原来的覆盖掉 实现文件存储了
例如存储的文件还是用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吧原来的覆盖掉 实现文件存储了
展开全部
我不知道你这个游戏是在什么环境下的,如果是在本地,存储不行,除非借助其他具有文件输出流的语言环境。读取可以,将一个.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,读取亦然。也可以用服务器的方式生成存档文件,方法就是楼上那种~~
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,读取亦然。也可以用服务器的方式生成存档文件,方法就是楼上那种~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询