用cocos2d-js3.11 纯js版本,在pc浏览器上正常,放在手机微信和手机chrome浏览器里白屏。
好像是卡在cc.game.run(“gameCanvas”)里了,cc.game.onStart方法没执行。
问一下大神有没好的手机浏览器调试的方法,谢谢!
我之前有遇到过说cc.game undefined 把对cocos2djs的引用放到/body前试试
报错信息麻烦给一下,另外,请使用 project.json 中的 id 字段去指定 canvas 的 id,不要传递到 cc.game.run 中
还有就是,cc.game.onStart 的定义必须在 cc.game.run 之前,或者在 3.11 中也支持
cc.game.run(function onStart() {
});
谢谢,我们可能遇到的问题不相同。所有的js加载都放在了body之前
所以修改 js 的引用顺序解决了你的问题?
1.HTML中的canvas的id,cc.game.run(“gameCanvas”) 和project.json中的id都是“gameCanvas”;
2.cc.game.onStart也在cc.game.run之前;
3.直接把3.11版本的换到3.7的运行很正常,到3.11就不正常了,好像3.10也有这样的问题。之前一直用3.7的(直接把官方3.11lite版本的HelloWorld.html也是白屏);
4.还有报错在手机上有什么方法能看到,PC上是正常的;
这是main.js里面的:
window.onload = function(){
cc.game.onStart = function(){
cc.view.enableRetina(true);
var mode = cc.sys.isMobile?cc.ResolutionPolicy.EXACT_FIT:cc.ResolutionPolicy.SHOW_ALL;
cc.view.setDesignResolutionSize(640,1040,mode);
cc.view.resizeWithBrowserSize(true);
cc.view.enableAutoFullScreen(true);
//load resources
MyLoaderScene.preload(g_resources, function () {
cc.director.runScene(new MyScene());
});
};
cc.game.run("gameCanvas");
};
project.json:
{
"showFPS":true,
"debugMode" : 1,
"frameRate" : 60,
"id" : "gameCanvas",
"renderMode" : 1,
"jsList" : [
]
}
将 cc.game.run(“gameCanvas”) 改为 cc.game.run()
在 mobile 上看 log 可以将 project.json 中的 debugMode 改为 4
把cc.game.run(“gameCanvas”) 改为 cc.game.run(),还是不行;
debugMode改为4,cavans没运行起来还是显示不出来;
html代码:
<title id="title"></title>
<script type="text/javascript" src="cocos2d-js-v3.7-lite.js" charset="utf-8"></script>
<script type="text/javascript" src="src/resources.js" charset="utf-8"></script>
<script type="text/javascript" src="src/MyLoaderScene.js" charset="utf-8"></script>
<script type="text/javascript" src="src/PlayingScene.js" charset="utf-8"></script>
<script type="text/javascript" src="src/MyScene.js" charset="utf-8"></script>
<script type="text/javascript" src="main.js" charset="utf-8"></script>
嗯嗯 我的意思是把对js的引用放到
<body>... <script type="text/javascript" src="cocos2d-js-v3.7-lite.js" charset="utf-8"></script> <script type="text/javascript" src="src/resources.js" charset="utf-8"></script> <script type="text/javascript" src="src/MyLoaderScene.js" charset="utf-8"></script> <script type="text/javascript" src="src/PlayingScene.js" charset="utf-8"></script> <script type="text/javascript" src="src/MyScene.js" charset="utf-8"></script> <script type="text/javascript" src="main.js" charset="utf-8"></script> </body>
这样子···可以试下 不一定管用文字缩进4格
可以把工程发给我我看看
js放在body里面果然可以了,谢谢!
但是为什么呢?提前加载出现什么错误了,之前的版本没有这个问题。
如果是版本更新必须这样,但是cocos2d-js的demo中HelloWord.html也是把Coco的js引用放到head里面了。
具体原因我也不清楚 开始纠结了好久怎么也不能理解 = = 我在本地是正常的 放到服务器上读取就有问题(当然我这这个坑爹的服务器一直有各种蛋疼问题·····)当时只好回退到3.8 后来忘了在哪个里面看了个帖子忽然想到可能是读取顺序有问题就换了下果然可以了···· 原因的话就等大神来回答吧····