CocosCreator资源加载(笔记)
cc.loader 加载资源
动态加载资源要注意两点,⼀是所有需要通过脚本动态加载的资源,都必须放置在 resources ⽂件夹或它的⼦⽂件夹下。resources 需要在assets ⽂件夹中⼿⼯创建,并且必须位于 assets 的根⽬录;
Creator 提供了 cc.loader.loadRes 这个 API 来专门加载那些位于 resources ⽬录下的 Asset。和 cc.loader.load 不同的是,loadRes ⼀次只能加载单个 Asset。调⽤时,你只要传⼊相对 resources 的路径即可,并且路径的结尾处不能包含⽂件扩展名。
// 加载 Prefab
cc.loader.loadRes("test assets/prefab", function (err, prefab) {
var newNode = cc.instantiate(prefab);
Scene().addChild(newNode);
});
/
/ 加载 AnimationClip
var self = this;
cc.loader.loadRes("test assets/anim", function (err, clip) {
});
// 加载 SpriteAtlas(图集),并且获取其中的⼀个 SpriteFrame
// 注意 atlas 资源⽂件(plist)通常会和⼀个同名的图⽚⽂件(png)放在⼀个⽬录下, 所以需要在第⼆个参数指定资源类型
cc.loader.loadRes("test assets/sheep", cc.SpriteAtlas, function (err, atlas) {
var frame = SpriteFrame('sheep_down_0');
sprite.spriteFrame = frame;
});
// 加载 SpriteFrame
var self = this;
cc.loader.loadRes("test assets/image", cc.SpriteFrame, function (err, spriteFrame) {
});
leaseRes("test assets/image", cc.SpriteFrame);
leaseRes("test assets/anim");
// 加载 test assets ⽬录下所有资源
cc.loader.loadResDir("test assets", function (err, assets) {
// ...
});
/
/ 加载 sheep.plist 图集中的所有 SpriteFrame
cc.loader.loadResDir("test assets/sheep", cc.SpriteFrame, function (err, assets) {
// assets 是⼀个 SpriteFrame 数组,已经包含了图集中的所有 SpriteFrame。
// ⽽ loadRes('test assets/sheep', cc.SpriteAtlas, function (err, atlas) {...}) 获得的则是整个 SpriteAtlas 对象。
});
// 远程 url 带图⽚后缀名
var remoteUrl = "/someres.png";
cc.loader.load(remoteUrl, function (err, texture) {
// Use texture to create sprite frame
});
// 远程 url 不带图⽚后缀名,此时必须指定远程图⽚⽂件的类型
remoteUrl = "/emoji?id=124982374";
cc.loader.load({url: remoteUrl, type: 'png'}, function () {
// Use texture to create sprite frame
});
// ⽤绝对路径加载设备存储内的资源,⽐如相册
var absolutePath = "/dara/data/some/path/to/image.png"
cc.loader.load(absolutePath, function () {
cocos creator面试题
// Use texture to create sprite frame
});

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。