如何离线玩html5游戏?

时间:2015-04-06 14:33:14

标签: html5 html5-canvas offline offline-caching offlineapps

我想在笔记本电脑上保存一些html5游戏,让我的小弟弟在无线电范围之外玩游戏。我下载了所有文件并更改了路径,因此不会出现任何错误。 现在,当我打开index.html一个带有加载程序gif的空白页面oppen时,没有其他任何加载。我不明白为什么?没有错误被抛出。唯一的错误是它无法找到广告(当调用loadvoyager时)。我试图评论它,仍然没有任何积极的事情发生。 这是游戏的存档:https://www.dropbox.com/s/5x3dk7w693j3os1/caca.rar?dl=0

谢谢!

2 个答案:

答案 0 :(得分:2)

解决方案

访问此网站:

http://scotty-staging.softgames.de/assets/api/voyager.js

或使用我创建的镜像:

仅限文件:http://www.mediafire.com/download/4b8uhvm75fbqtwy/voyager.js
完整游戏:http://www.mediafire.com/download/y8ocia4rr5552jx/html5Game.7z

将javascript文件保存在资源中,然后您可以玩游戏。

更新(问题)

var displayLoadScrn = function(){
        var body = SG.d.getElementsByTagName('body')[0];
        if( typeof body != "undefined" ){
            if( SG.d.getElementById('sg-loadscrn') == null ){
                SG.debug && console.log('show load-screen: complete');
                body.appendChild(loadScrn);
            }
            SG.loadVoyager();  //<---- This is where it goes wrong //
        }
        else{
            if(SG.debug) console.log('show load-screen: body-tag not ready. retrying in '+SG.loadScrnTimer+'ms');
            setTimeout(displayLoadScrn,SG.loadScrnTimer);
        }
    };

    displayLoadScrn();

 var displayImage = function(){
        var body = SG.d.getElementsByTagName('body')[0];
        if( typeof body != "undefined" ){
            body.appendChild(loadScrn);
            SG.loadVoyager();  //<---- This is where it also goes wrong //

        }
        else{
            if(SG.debug) console.log('show load-screen: body-tag not ready. retrying in '+SG.loadScrnTimer+'ms');
            setTimeout(displayImage,SG.loadScrnTimer);
        }
    };

    displayImage();

问题是您没有在assets文件夹中提供voyager资源脚本,但需要加载

loadVoyager : function(){
    var sgc = document.createElement('script'); sgc.type = 'text/javascript'; sgc.async = true;
    var random = Math.floor((Math.random()*100000000)+1);
    //sgc.src = 'http://scotty-staging.softgames.de/assets/api/voyager.js';
    sgc.src = 'assets/voyager.js?_='+random; //<-- this line //
    //sgc.src = '//localhost:3000/assets/api/voyager.js';
    sgc.onload = SG.boot;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sgc, s);
},

你看到中间的“sgc.src ='assets / voyager.js? ='+ random;” ,这仍然是试图加载,我做的是删除注释掉的行,我保持“sgc.src ='assets / voyager.js? ='+ random;”取消注释并下载voyager文件并将其放在assets文件夹中。

您无法注释掉loadvoyager,因为它需要加载。否则,您的页面将一直加载,而不是响应

答案 1 :(得分:0)

看起来voyager.js文件夹中缺少名为assets的文件。在浏览器中打开控制台以获取此详细信息(Chrome中的F12)。

只是为了更加安全,尝试通过本地服务器打开此游戏,这样您就不必担心浏览器在运行游戏时所关注的所有事情。