as3 webgame 上线版本控制

 

我的项目应用的方法:

类库:LoaderMax

素材加载 用XML文件配置的(loadAssets.xml):

<?xml version="1.0" encoding="utf-8"?> 

<data> 

    <LoaderMax name="SWFqueue" prependURLs="assets/swf/model/" load="true"> 

          <SWFLoader url="Bulletin.swf" name="Bulletin" autoPlay="false" noCache="true" /> 

          <SWFLoader url="Chat.swf" name="Chat" autoPlay="false" noCache="true"  /> 

          <SWFLoader url="Depot.swf" name="Depot" autoPlay="false" noCache="true"  /> 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

其中的 noCache属性为ture表示要产生唯一的缓存 即xx.swf?v=1.01 在URL地址路径上加参数。

昨天将LoaderMax的源类库 做了一些修改 loadermax 加载多个SWF文件的时候  如果 没有设置 estimatedBytes 属性 在获取多个SWF文件大小的时候  会在URL地址上加一个随机参数:即:request.data = new URLVariables("v=" + (_cacheID++) + "&purpose=audit");

我这里将它改了 :request.data = new URLVariables("v=" + GameGlobal.gameVer);

此修改位置在 :LoaderItem类中的 : override public function auditSize():void { 

 

同时在这个类中的protected function _prepRequest():void { 这个方法也需要修改:

将:_request.data.cacheBusterID = _cacheID++; 修改成:_request.data.v = GameGlobal.gameVer;

 

GameGlobal.gameVer是版本号 数据是从网页参数中获取的(index.html):

<script type="text/javascript">

            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 

            var swfVersionStr = "10.0.0";

            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->

            var xiSwfUrlStr = "playerProductInstall.swf";

            var flashvars = {v:"1.02"};

            var params = {};

 

这个index.html是我自己写的 不过正式上线 这个会是一个动态的网页文件 flashvars里面的版本号 将由后台管理程序来控制。

 

缓存下的SWF文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值