[0]3.0引擎,图集使用问题

1.自动图集,在开发阶段还未正式发布时,并没有图集的atlas文件,代码里面怎么兼容加载?
2.一个界面中,存在多张图集,有没有方法做到直接创建所有组件,因为有些图集可能已经存在于内存中,可以直接显示,但又需要加载所有图集,这样存在等待时间。 
已邀请:

layaAir小孟

赞同来自:

您好,我可以回答您的第一个问题。自动图集在未正式发布时,需先预加载图集资源。
 
大概写了一个使用示例:
    onAwake(): void {
        let resArr: Array<any> = [
            { url: "resources/atlas/Atlas.atlas", type: Laya.Loader.ATLAS }
        ];

        Laya.loader.load(resArr).then( ()=>{
                //创建Image1实例
                var img1 = new Laya.Image();
                //设置皮肤(取图集中小图的方式就是 原小图目录名/原小图资源名.png)
                img1.skin = "resources/atlas/ui1/img_head.png";
                //添加到舞台上显示
                Laya.stage.addChild(img1);
            } 
        );
    }
预加载图集资源"resources/atlas/Atlas.atlas",图片资源则正常按照图片路径使用即可"resources/atlas/ui1/img_head.png"。
这样发布后,使用的就是图集资源里的“img_head.png”。
这个内容在官网文档中也有:https://layaair.com/3.x/doc/released/web/readme.html#35-%E5%A6%82%E4%BD%95%E5%9C%A8%E9%A1%B9%E7%9B%AE%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%9B%BE%E9%9B%86%E4%B8%AD%E7%9A%84%E5%B0%8F%E5%9B%BE
 

layaAir小孟

赞同来自:

第二个问题我不太确定。将存在于内存中的图集,直接创建为组件,是不是得判断一下哪些资源不在内存中。把不在内存中的资源加载后再创建,在内存中的资源直接显示。但是这个判断我太清楚怎么做。

要回复问题请先

商务合作
商务合作