游戏中下载配置文件方法

作者: 抓不住的风 | 来源:发表于2015-01-24 17:57 被阅读83次

//游戏中下载配置文件方法  [建议复制粘贴成js文件 看]

/*

先不说获取数据的实现,简单来说一下这些数据的意义吧.

游戏里,有大量的数据,包括角色,道具,装备,活动,关卡,奖励等等等等这些东西,都是由大量的数据支撑起来的.

通过对这些数据的接触,自己也有很大的体会,呵呵 点到为止.进入正题

在游戏中 一般数据的保存格式是 .json .这些数据都是由策划部门进行精细的管理.一般游戏开发团队都会建立自己的数据管理工具,哪怕是临时的.

自己在项目开始的时候,也参与过这些管理工具的完善以及维护.主要是文件的读写,保存.然后根据服务器去划分不同的服务器.用的时angularJS框架.这个框架自己

了解的不是很多,我的等级就是会用.深入的没有去研究.如果有谁有经验的话,可以写几篇文章供参考一下.

数据的结构如果只是看这些json文件的话,而不看这些数据的源文件,你是看不明白的.必须要看策划的表,xlsx文件.

我解除过一个最复杂的配置文件,策划和自己沟通数据结构的时候,花费了大概半个小时的时间,自己才明白,

这些数据到底该怎么用.不过在使用的过程中,还是会遗忘一些东西.

不多说了 扯远了.

还有一个问题就是nodejs中fs模块的问题,自己在github上node的官方issue中提到过.

fs.readdir and fs.readdirSync is not work like the description on API #9089

*/

//考虑多个服务器的情况 所以在保存数据的时候 是根据服务器名称保存的

var fs = require('fs');

var http = require('http');

var async = require('async');

var serverType = 'merge';//合并服务器

var configNames = [];

var configNamesWithSuffix = [];

async.waterfall([

function(cb){

http.get('http://192.168.1.1:80000/getConfigNameByServerName?server='+serverType, function(res) {

res.on('data',function(data){

configNamesWithSuffix = JSON.parse(data) || [];//获取所有配置文件的名称 []

});

res.on('end',function(){

console.log('获取配置文件名成功!');

});

cb();

});

},

function(cb){

for(var i = 0;i < configNamesWithSuffix.length; i++){

var index = configNamesWithSuffix[i].indexOf('.')

var name = configNamesWithSuffix[i].substring(0,index);

configNames.push(name);

}

async.mapSeries(configNames,function(item,call){

if(fs.existsSync('./dataConfig/'+item+'.json')){

fs.unlinkSync('./dataConfig/'+item+'.json');

}

call();

},function(err,data){

cb();

});

},function(cb){

async.mapSeries(configNames,function(item,call){

var file = fs.createWriteStream('./dataConfig/'+item+'.json');

http.get('http://192.168.1.1:80000/getConfigByName?name=' + item + '&server='+serverType, function(res) {

res.on('data', function(data) {

file.write(data);

});

res.on('end', function() {

file.end();

call();

});

});

},function(err,result){

cb();

});

}

],function(err,result){

if(!err){

console.log('获取配置文件成功!');

} else{

console.log(err);

}

})

相关文章

  • 游戏中下载配置文件方法

    //游戏中下载配置文件方法 [建议复制粘贴成js文件 看] /* 先不说获取数据的实现,简单来说一下这些数据的意义...

  • 游戏开发—文件校验

        游戏开发中,有很多文件校验需求。如:安装包、更新包、代码、配置文件、资源包等,都可能需要在安装或者下载更新...

  • 添加maven镜像,加速maven构建

    方法一:编辑配置文件 在配置文件中添加阿里的镜像 方法二:添加自定义的配置文件添加配置文件 settings_cd...

  • java姓名转拼音(多音字处理)

    1.下载jar包 点击下载地址 下载成功后添加到项目lib中 2.编写工具类 3.配置文件 配置文件如果放到其他目...

  • Docker安装MySQL

    一、下载 下载镜像 将全部的配置文件和关联的文件夹统一放到/opt/docker-mysql中 二、配置文件 增加...

  • Windows实现共享

    操作系统:Windows所需软件:下载 server配置文件 路径表示:cpan表示方法: /cygdrive/c...

  • 推荐一款mac下vim颜色配置

    下载安装 配置 将下面几行添加到~/.vimrc配置文件中即可 看看带注释的配置文件

  • unity .assest格式文件

    在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。 如:配置血...

  • Redis学习(二)远程访问配置

    方法一 注释 Redis的配置文件中的bind 127.0.0.1同时修改Redis的配置文件中的protecte...

  • Electron下载打包慢

    1.下载 在用户下.npmrc配置文件中添加/修改下载源registry=http://registry.npm....

网友评论

    本文标题:游戏中下载配置文件方法

    本文链接:https://www.haomeiwen.com/subject/phqkxttx.html