`

webgame 上线版本控制

阅读更多

http://hi.baidu.com/silvanote/item/7005c920f27fd3866f2cc369

 

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文件

  • 大小: 29.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics