Cocos Creactor 1.9.3 常用api
Cocos引擎的主要类、函数、属性或常量
cc.sys 系统变量(System variables)
cc.game 是 Game 的实例,用来驱动整个游戏。
cc.director 一个管理你的游戏的逻辑流程的单例对象。
cc.p 通过该简便的函数进行创建 cc.Vec2 对象。
cc.NodePool 节点对象池的构造函数,用于管理节点对象的对象缓存池。新的 NodePool 需要实例化之后才能使用,每种不同的节点对象池需要一个不同的对象池实例,这里的种类对应于游戏中的节点设计,一个 prefab 相当于一个种类的节点。
加载或切换场景
cc.director.loadScene('SceneName', callback) // 加载或切换场景
cc.director.preloadScene('SceneName', callback) // 预加载场景
cc.game.addPersistRootNode(myNode) // 增加常驻节点
cc.game.removePersistRootNode(myNode) // 删除常驻节点
资源加载
// 动态加载预制资源
cc.loader.loadRes("test assets/prefab", (err, prefab) => {
var newNode = cc.instantiate(prefab);
cc.director.getScene().addChild(newNode);
});
// 动态加载 SpriteFrame
cc.loader.loadRes("test assets/image", cc.SpriteFrame, (err, spriteFrame) => {
this.node.getComponent(cc.Sprite).spriteFrame = spriteFrame;
});
cc.url.raw("resources/test assets/image.png") // 返回Raw Asset资源路径
// 加载 test assets 目录下所有资源
cc.loader.loadResDir("test assets", (err, assets) => {
});
// 加载 sheep.plist 图集中的所有 SpriteFrame
cc.loader.loadResDir("test assets/sheep", cc.SpriteFrame, (err, assets) => {
// assets 是一个 SpriteFrame 数组,已经包含了图集中的所有 SpriteFrame。
// 而 loadRes('test assets/sheep', cc.SpriteAtlas, function (err, atlas) {...}) 获得的则是整个 SpriteAtlas 对象。
});
资源释放
// 在加载完资源之后,所有的资源都会临时被缓存到 cc.loader中,所有不需要的资源必须释放掉以减少内存占用
cc.loader.releaseRes("test assets/image", cc.SpriteFrame);
cc.loader.releaseRes("test assets/anim");
// 释放spriteFrame实例
cc.loader.releaseAsset(spriteFrame)