如上面的问题所示,我真的需要一些关于加载和保存从txt文件到闪存的分数的反馈,反之亦然。我仍然是闪光灯的新手,这是我想在游戏中实现的最后一件事。我坚持了大约一个星期尝试互联网上的所有教程。非常感谢任何帮助和建议。
答案 0 :(得分:0)
创建:::
的函数:接受一个参数来指示要返回的文件位置
例如,将VarName作为字符串check this out a bit for strpos methods
:以字符串
:然后使用indexOf(" varName")找到需要信息的地方
:然后解析下一个文本数字,持有分数
:最后返回Number(" 123")< - 所以数字串变为int
然后在需要时调用函数:
得分= funcScore(" tommy");
迹(评分* 100);或者其他^^快乐编码
答案 1 :(得分:0)
首先实例化您的玩家列表。 我们将创建:空的影片剪辑存储文本字段的位置,用于存储拉取信息的空数组和用于切换的布尔变量,稍后需要。像这样:
players = ["tommy","tomm","tom","om","mmy"];
this.createEmptyMovieClip("sc",1);
var arr:Array = new Array();
var done:Boolean;
然后,LoadVars课程将加载&score; scores.txt'文件。然后对于阵列中的每个玩家,我们将信息推送到该阵列并对其进行排序。像这样:
loo = new LoadVars();
loo.load("scores.txt");
loo.onLoad = function() {
for(el in players){
arr.push(Number(this[players[el]]));}//##
arr.sort(16);//16 stands for numeric
arr.reverse();//descending
done=true;}
排序后,我们可以动态地放置文本字段并将值写入其文本属性。像:
onMouseUp = function(){
if(done==true){
for(i=0;i<arr.length;i++){
a = this.sc.createTextField("place"+i,i+100,Stage.width/2-25,i*30+30,50,25);
a.text = arr[i];}
done=false;}
else{
reload();}}
另外,请注意切换是如何工作的,我们称之为自定义&#39;重新加载&#39;功能。将其添加到您的文件并运行电影。
function reload():Void {
_root.loadMovie(_root._url);}
文本文件内容如下所示 - 与player数组中的名称相同,以对应。在一行中写入文本,没有行刹车。
tommy=112&tomm=20&tom=300&om=2&mmy=2922
// ##如果你想在数字前留下占位符零的分数,例如&#39; 009&#39;,请在此处删除数字功能,并为sorting选项放置数字2而不是16删除倒车阵列