cocos构建ios项目从启动图到第一个场景加载必现短暂黑屏

cocos creator版本1.8.0
构建ios项目,在真机运行,从启动图到第一个场景加载出来,必现短暂黑屏,即使我将第一个场景的“延迟加载资源”勾选上,也一样会出现黑屏的现象,请问是什么原因

1赞

我 的安卓也黑屏三四秒

资源要预加载,默认是不预加载的

iOS工程配置启动图片

资源预加载需要做什么,代码里写吗?

配了,就是从启动图片到第一个场景加载出来,会短暂黑屏

没有解决方案吗

第一个场景不要放置太多东西

我用官方的hello world模板构建的ios项目,依然会出现短暂黑屏

2.0.0版本也遇到这个问题,最后咋解决的啊 兄弟

这个问题,我也发起过帖子,现在也是没法解决,这个是引擎的问题,需要官方去解决这个问题,现在用cocos creator 开发的都是小游戏或者h5的,如果一旦有原生开发的肯定会遇到这个问题,而且这个问题是很明显的,也是不能忍受的,期待官方早点解决吧,各位有没有官方的联系方式,联系他们早点解决。

打包安卓也是黑屏几秒,有人知道怎么解决吗?

在main函数cc.director.loadScene之前自己创建一个scene设置一张启动图片就可以修复短暂黑屏了

有具体代码吗

感觉主要原因只是这里
在加载第一个CocosActivity时,到展示出来就花费了很多时间的了

这个是我的修改方式,目前产品ios和Android都可以用

1赞

挖个坑,蹲一会

你好,我目前使用的是2.0.7版本,界面显示出来之前还是会有黑屏?请问您是什么版本的?

尴尬了。creator官方应该没人看的上这个问题。。。

1赞

var showLaunchScreen = function (path) {
if (!cc || !cc.sys.isNative) {
return;
}
var designSize = cc.size(1136, 640);
var scene = new cc.Scene();
var canvasNode = new cc.Node();
var canvas = canvasNode.addComponent(cc.Canvas);
canvasNode.parent = scene;
canvas.designResolution = designSize;

        cc.director.runSceneImmediate(scene);
        
        var imgNode = new cc.Node();
        imgNode.parent = canvasNode;
        var sprite = imgNode.addComponent(cc.Sprite);
        sprite.type = cc.Sprite.Type.SIMPLE;
        sprite.sizeMode = cc.Sprite.SizeMode.TRIMMED;
        var img = new cc.Image();
        var b = img.initWithImageFile(path);
        if (b) {
            var texture = new cc.Texture2D();
            texture.initWithImage(img);
            var spriteFrame = new cc.SpriteFrame();
            spriteFrame.setTexture(texture);
            sprite.spriteFrame = spriteFrame;
            let ws = cc.view.getVisibleOriginInPixel();
            var cw = ws ? ws.width : cc.winSize.width;
            var ch = ws ? ws.heighe : cc.winSize.height;
            var dw = designSize.width;
            var dh = designSize.height;
            var i = 1 + (cw / ch - dw / dh);
            var k = i + (dw / dh - cw / ch);
            if (i > 1) {
                imgNode.width = dw * i;
                imgNode.height = dh * i;
                canvas.fitWidth = false;
                canvas.fitHeight = true;
            } else {
                imgNode.width = dw * k;
                imgNode.height = dh * k;
                canvas.fitWidth = true;
                canvas.fitHeight = false;
            }
        }
    }
    
    var launchScene = settings.launchScene;
    
    showLaunchScreen(cc.url.raw('resources/screen/bg4.png'));

代码手打了一边 2.1.0 版本 无限执行 到卡死 ,希望 官方 能够正式 的 去 解决这个问题