新手,要晕死了

如图,一个测试项目,在模拟器可以进行预览,但是在浏览器预览就找不到资源;

so, Web预览需要怎么设置资源。。。。

可以试一下通过浏览器的 DevTools 调试一下,看看有没有报错,问题出在什么地方。

我试了下,把代码里替换资源的代码注释掉后, 可以加载界面
一旦加上,就不行了
加载资源代码如下:

http://www.cocos.com/docs/creator/scripting/load-assets.html
你需要看一下动态加载资源的文档。在 web 环境并不能这样替换 spriteFrame

。。。。。。。我好像更不明白了。。。。。



cc.loader.loadRes的时候地址不要加resources/,会自动在resources里面找。文档里有说。

那样会

你把Creator左下角资源管理器里resources展开,截图看看

首先需要用 loadRes 接口加载的资源,必须放在 assets/resources 文件夹里面。然后 loadRes 的参数是相对于 assets/resources 的相对路径。
然后,loadRes 接口是异步的,你要在回调函数里面使用 SpriteFrame 对象。我看到你的代码里面:

而你应该通过 callback 将 loadRes 返回的结果返回给需要的地方,而不是通过接口返回值返回。伪代码是这样的:

getStoneFrame : function (isEnd, cb) {
    // 查找需要的资源路径
    ....

    cc.loader.loadRes(资源路径, cc.SpriteFrame, cb);
},

onEndStone : function() {
    this.getStoneFrame(true, (err, frame) => {
        this.EndStone.spriteFrame = frame;
        this.stoneIdx++;
    });
}
2赞

这样的确解决了问题,不过手机预览一直在加载界面

这是浏览器不支持 WebGL 导致的(实际上不支持但是提供了 WebGL context 导致我们的判断失效),试试用 Canvas 模式。

这里的判断在 1.3 会加强

嗯,切换WebGL Canvas,怎么做呢

在 main.js 中修改 renderMode 为 1,强制使用 Canvas。

不过优化实际上刚刚已经提交了,也可以等等,或者自己 fork 仓库

https://github.com/cocos-creator/engine/pull/1086