AssetsManager的一个问题

AssetsManager只能比对一个版本 然后去一个对应的地方去下载东西 那不是每次更新以后都要在以前更新包的基础上 不然几个版本不玩的人 下载的东西就不够了 那这样一直更新的人 下载的东西又太多了 大家是怎么做的 怎么解决的 希望大家帮个忙

在 AssetsManager 的基础上自己改啊,原装的肯定不够用。

这确实是个问题啊,要怎么解决啊?难道要制作N个包,每个客户端版本不一样的人下载不一样的包吗?不然的话只能累积这个包啊,这样的话越更新不是就越大了吗?如果是频繁更新的人,岂不是每次都要下载以前更新过的文件再更新一次。

每个版本一个补丁包啊。
登陆的时候客户端把版本号发给游戏服务器,然后服务器根据传上来的版本号告诉客户端要下载哪些。

比如最新版本是3.5
客户端版本3.2
服务器收到消息后告诉客户端去下载3.3, 3.4, 3.5三个包。
客户端依次下载并解压。

我就是这么做的,不过需要游戏服务器支持,你做的是网络游戏吗?

如果是单机游戏的话,可以考虑用xmlHttpRequest发消息,php写服务器逻辑。反正服务器逻辑是少不了的。
可以在网页上多存点信息,比如最新的版本号,每个版本对应的补丁地址。然后用 AssetsManager 里的方法去获取这些信息,再本地判断下载哪些补丁。

我现在是这么做的,每次更新一个包,在服务器分文件夹区别,比如版本1一个文件夹,版本2一个文件夹,每个更新包里都有一个配置文件,比如最新版本是3,玩家版本是1,客户端会根据本地配置文件去更新到2版本,当把2版本的更新包下载之后,再加载2版本里的配置文件再调用一次更新程序,就是递归检测,更新到3版本,再根据3版本里的配置文件检测版本,有4则更新到4,和前面一样,没有则直接进入游戏,这种更新方法对吗?

方法很多呀。挺好的,像一个链表,功能实现了就好。

但是这样维护更新的这个人做起来就比较麻烦了,每次都要很细心把更新包里的东西给搞好,出一点差错客户端就不受控制了啊

那你们是用的AssetsManager么? 自己经过修改吗?

是啊, AssetsManager 毕竟还是做了很多工作的,不用自己再写了。

你们的游戏是一次开发 永久运营是吧?