如何优化Cocos Creator 包体体积
- 代码体积(引擎 + 业务逻辑代码setting.js):去掉不必要的引擎模块,优化业务逻辑代码。
- 图片资源:
- jsp格式小于png,可以使用jpg格式图片代替png格式图片
- 压缩图片,尽量使用九宫格图片,减少图片资源
- 图片数量越少越好,可以使用骨骼动画代替帧动画
- 音效资源优化
- 字库优化
Cocos Creator如何编写单例模式
const { ccclass, property } = cc._decorator;
@ccclass
export default class Singleton extends cc.Component {
@property({
displayName: '图片',
type: cc.SpriteFrame
})
public pic: cc.SpriteFrame = null;
static instance: Singleton = null;
onLoad(): void {
if (Singleton.instance === null) {
Singleton.instance = this;
} else {
this.destroy();
}
}
}
export class TestClass extends cc.Component {
start(): void {
const node = new cc.Node('Monster');
const sprite = node.addComponent(cc.Sprite);
sprite.spriteFrame = Singleton.instance.pic;
node.parent = this.node;
}
}
Cocos Creator如何使用物理引擎
- 1,默认物理系统是关闭的,我们需要手动开启物理系统
- 2,物理系统默认是不会绘制调试信息的,我们可以手动打开各种调试信息的绘制。
- 3,设置物理重力
Cocos Creator Label的原理与如何节约Drawcall?
艺术数字和BMFont一样,可以自动合并DrawCall,但是使用系统字的Label,每个Label占用一个DrawCall,所以为了节约DrawCall尽量减少使用系统字体
Cocos Creator 背包系统可能会需要哪些优化?
-
在打开背包之前做预加载
-
对列表做循环滚动
-
分页动态加载
-
异步分帧加载