Cocos游戏笔记(二):js动态加载资源

一 . 动态资源存放位置

动态加载资源要注意两点,一是所有需要通过脚本动态加载的资源,都必须放置在 resources 文件夹或它的子文件夹下。resource存放位置如下,与Texture文件夹同级(官方说法为resources 需要在 assets 文件夹中手工创建,并且必须位于 assets 的根目录)

image.png

PS: 我这里和官方的说法有点出入,十一局我个人的实践经验得出。官方说法请参考:https://docs.cocos.com/creator/manual/zh/scripting/load-assets.html

二 . 直接替换现有图片资源

图片设置为 Sprite 后,将会在 资源管理器 中生成一个对应的 SpriteFrame。只有修改SpriteFrame中的资源才能替换当前图片资源

var self = this;
cc.loader.loadRes("imageName", cc.SpriteFrame, function (err, spriteFrame) {
    self.node.getComponent(cc.Sprite).spriteFrame = spriteFrame;
});

请注意,如果你要加载的资源直接存放在resource文件夹,则上面代码中的imageName为图片的名字,不加后缀(如存放在resource文件夹下的mine.png,则imageName为mine)。

三 . 不替换原有资源的情况下添加新资源

这就需要创建新节点,并为节点添加cc.Sprite组件, 再把新建的节点设为当前节点的子节点 。

     var self = this;
     cc.loader.loadRes("sausage", cc.SpriteFrame, function (err, spriteFrame) {    //sausage为resource下的sausage.png
          var singleFood = new cc.Node();
          singleFood.parent = self.node;
          var sp = singleFood.addComponent(cc.Sprite);
          sp.spriteFrame = spriteFrame;
        });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。