美文网首页
白鹭H5合并为单个HTML文件(Facebook试玩游戏)

白鹭H5合并为单个HTML文件(Facebook试玩游戏)

作者: NanaCti | 来源:发表于2019-02-21 16:08 被阅读0次
    • 在发布之前,需要把项目中用到的所有图片转化为base64
            // 将base64转化为纹理(旧版)
            let img = document.createElement("img");
            let texture:egret.Texture = new egret.Texture();
            img.src = 'base64';
            img.onload = () => {
                let bitmapdata:egret.BitmapData = new egret.BitmapData(img);
                texture.bitmapData = bitmapdata;
            }
            // 将base64转化为纹理(新版,base数据不用加data:image/png;base64,)
            private static async get_Texture(base64:string) {
              let response =await new Promise( resolve => {
                egret.BitmapData.create('base64', base64, bitmapdata => {
                    let texture:egret.Texture = new egret.Texture();
                    texture.bitmapData = bitmapdata;
                    resolve(texture)
                })
              })
              return response
            }
    
            // 纹理数据json 文件转化为对象(dragondones使用)
            let textureDate = JSON.parse('json文件复制过来');
    
    • 白鹭游戏发布为h5之后,因为图片都是base64,所以resource文件是不需要的


      白鹭游戏发布为h5之后
    • 使用gulp合并js,需要合并的js在js文件夹里, 地址在manifest.json中,顺序跟manifest.json里面一样 gulp快速入门

    // gulpfile.js
    var gulp=require('gulp'),  //gulp基础库
        concat=require('gulp-concat');  //合并文件
    
        gulp.task('default',function(){
                return gulp.src([
                    'src/js/egret.min_7205852b.js',
                    'src/js/egret.web.min_83336927.js',
                    'src/js/game.min_3c096da1.js',
                    'src/js/tween.min_6c5a88f9.js',
                    'src/js/assetsmanager.min_2c9a3f2e.js',
                    'src/js/promise.min_83a6a5d.js',
                    'src/js/physics.min_d425a559.js',
                    'src/js/particle.min_27fe451d.js',
                    'src/js/main.min_b3b54556.js'
                ])  //选择合并的JS
                .pipe(concat('index.js'))   //合并js
                .pipe(gulp.dest('dist/js'))         //输出
        });
    
    • 在html的head部分增加一个script标签,把合并完成的js文件复制到script中,如果js文件中的有其他script标签,需要查找出来删掉(想不到其他办法)

    • 发布完成的html文件中有一部分ajax请求的代码,将整个ajax请求的代码都注释掉,仅留下最终要执行的代码,例如我的是:

    //...
    // var xhr = new XMLHttpRequest();
        // xhr.open('GET', './manifest.json?v=' + Math.random(), true);
        // xhr.addEventListener("load", function () {
        //     var manifest = JSON.parse(xhr.response);
        //     var list = manifest.initial.concat(manifest.game);
        //     loadScript(list, function () {
                egret.runEgret({ renderMode: "webgl", audioType: 0, calculateCanvasScaleFactor:function(context) {
                    var backingStore = context.backingStorePixelRatio ||
                        context.webkitBackingStorePixelRatio ||
                        context.mozBackingStorePixelRatio ||
                        context.msBackingStorePixelRatio ||
                        context.oBackingStorePixelRatio ||
                        context.backingStorePixelRatio || 1;
                    return (window.devicePixelRatio || 1) / backingStore;
                }});
        //     });
        // });
        // xhr.send(null);
    
    

    编辑于2019/02/27 广州 今天没下雨

    相关文章

      网友评论

          本文标题:白鹭H5合并为单个HTML文件(Facebook试玩游戏)

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