cc.director.preloadScene 这个方法在玩一玩平台上, 时间消耗非常的久, 用 1.10 没问题, 2.0.5, 时间是1.10的 10倍不止,肯定是哪里被改坏掉了,有人遇到这个问题嘛? 我升级后足足等了40秒, 才加载好, 而1.10 却再3秒内
顶一个,我也遇到这个问题
肯定是报错了,或者加载超时了,检查一下吧
我也是遇到这个问题的,我是在h5平台的,加载场景真的慢很多,比1.0系列的慢,我也是醉了。。。。。
没报错呢,能正常跑,log看了,没有报错的,只是加载的时候慢。。。感觉是卡在解析场景文件这一步,加载资源因为我们做了进度条,进度条开始跑以后是很快的,就是进度条不动之前(这会是在解析场景文件)会卡很久
var GlobalVar = require("GlobalVar")
cc.Class({
extends: cc.Component,
properties: {
tiplabel: cc.Label,
progressBar: cc.ProgressBar,
bg: cc.Node
},
onLoad() {
this.progressBar.progress = 0
if (cc.winSize.height > 1280) {
this.bg.scale = cc.winSize.height / 1280
}
this.tiplabel.string = GlobalVar.dataMgr.getTips()
},
start() {
this.m_nextScene = GlobalVar.SceneTo || "Main"
this.m_simulatorSpeed = 1.0
this.m_curProgress = 0.1
var onProgress = (completedCount, totalCount, item) => { //进度回调
//cc.log("LoadingScene onProgress", completedCount, totalCount)
this.m_updateTimeTotal = 0
let percent = completedCount / totalCount
this.m_curProgress = percent
}
cc.director.preloadScene(this.m_nextScene, onProgress, () => {
})
},
update(dt) {
if (this.m_curProgress) {
if (this.progressBar.progress < this.m_curProgress) {
this.progressBar.progress += dt * this.m_simulatorSpeed
}
else if (this.progressBar.progress >= 1 && !this.m_jumpToOtherScene) {
GlobalVar.alreadyLoadedScenesMap[this.m_nextScene] = true
cc.director.loadScene(this.m_nextScene)
this.m_jumpToOtherScene = true
}
}
}
});
这是我写的loadingScene
楼主我觉得你的标题要加上玩一玩平台,我的游戏在pc浏览器,手机浏览器上跑加载是很快的
你可以试试 ios 手机,是不是比 android 加载快很多
不,肯定是有文件加载超时了
麻烦提供一个 demo 我们试试
PS: 我用的是最新的CocosCreator2.05
@jare 你好,抱歉Demo我不方便提供哦,项目还没发布呢,这个问题跟项目的资源多是相关的
我经过调试测试,最新的进展是这样的
1,首先要否定一下我上面的结论,在玩一玩平台整个加载时间不比其他平台慢, 从开始到结束时间上是差不多的,
2, 我这里一个场景preload的时间其实最多也就5, 6秒, 关键是进度条没有更新, 玩一玩平台preloadScene的时候,我上面组件里面的update 不会调用,另外就算我在onProgress里面更新进度条this.progressBar.progress = completedCount/totalCount,渲染也不会更新,所以我看到的是一进loaing场景,进度条一直不动,最后突然飞快
3,所以问题是玩一玩平台的preloadScene调用后,游戏引擎的逻辑update, draw 似乎是阻塞的。
上面所说的都是第一次进入一个场景的时候,第二次进同一个场景都是飞快的,我第二次进场景都是直接cc.loader.loadScene(对应场景),而不会由loadingScene中转的
https://forum.cocos.com/t/cc-loader-loadresarray/50617/5?u=dengzhuangfeng 参考了你以前的一个帖子
cc.macro.DOWNLOAD_MAX_CONCURRENT = 2; 这样设置在玩一玩平台也是没用的
这个是已知问题。QQ玩一玩的,等790版本会修复
等engine2.1 以及qq 790版本发布。很复杂,没法自己处理。
好的,谢谢
有没有可能是图片资源太大了
看来是加载进度条在玩一玩上得不到刷新的问题。应该是玩一玩在下载资源的过程中,把主进程阻塞了。
您好 我们最近一个项目 需要canvas 绘画路径图 您有时间兼职吗? 微信15267082522
不是进度条刷新问题。你可以向knox了解下情况。是玩一玩平台的bug,得改引擎和玩一玩适配。
目前有简单的hack方式吗
目前暂时没有,这个是玩一玩底层加载资源的问题,他们已经修复了,但是的版本是根据手 q 的版本的,所以需要等待