Cocos Creator 资源的动态加载
- resources下的资源 只有放在resources目录下的资源才能用该路径结构访问
//图片
cc.loader.loadRes("textures/images/imgname", cc.SpriteFrame, function (err, SpriteFrame) {
if(err) {
//错误处理
}else{
//图片赋值
node.getComponent(cc.Sprite).spriteFrame = SpriteFrame;
}
});
// 加载 SpriteAtlas(图集),并且获取其中的一个 SpriteFrame
cc.loader.loadRes("test assets/sheep", cc.SpriteAtlas, function (err, atlas) {
var frame = atlas.getSpriteFrame('sheep_down_0');
sprite.spriteFrame = frame;
});
// 加载 Prefab
cc.loader.loadRes("test assets/prefab", function (err, prefab) {
var newNode = cc.instantiate(prefab);
newNode.addChild(newNode);
//cc.director.getScene().addChild(newNode);
});
// 加载 AnimationClip
var self = this;
cc.loader.loadRes("test assets/anim", function (err, clip) {
self.node.getComponent(cc.Animation).addClip(clip, "anim");
});
- 动态加载节点,并排序
/**
@param childnode A child node
@param localZOrder Z order for drawing priority. Please refer to setZOrder(int)
@param tag An integer or a name to identify the node easily. Please refer to setTag(int) and setName(string)
*/
//localZOrder > 0 正序(左--右 上--下) localZOrder < 0 倒序(右--左 下--上)
node.addChild(childNode, 1, 1001);
//设置节点坐标位
childNode.setPosition(x,y);
3.移除子节点
/**
@param cleanup == true/false true--删除所有的动作和回调 不传该参数 会被强制清理
*/
//移除父节点下的所有子节点
parentNode.removeAllChildren(cleanup);
//将单个节点从父节点移除
node.removeFromParent(cleanup);
//根据标记移除子节点
parentNode.removeChildByTag (1001,false);
3.根据js原理,利用缓存存储数据
cc.sys.localStorage.setItem(key,value);
cc.sys.localStorage.getItem(key);
cc.sys.localStorage.removeItem(key);