面试题

479 阅读1分钟

如何优化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 背包系统可能会需要哪些优化?

  • 在打开背包之前做预加载

  • 对列表做循环滚动

  • 分页动态加载

  • 异步分帧加载