CocosCreator项目实战(3):初始化


一、分数归零

  1. 添加init()函数,为了方便之后分数的更改,定义updateScore(number)函数,用于更改分数值与分数标签的显示。
    start() {
        ...
        this.init();
    },
    
    init() {
        this.updateScore(0);
    },

    updateScore(number) {
        this.score = number;
        this.scoreLabel.string = 'Score: ' + number;
    },

二、清空所有块

  1. 定义blocks数组存储每一块对应的block节点,null表示没有格子;定义data数组存储每一块对应的数字,0表示没有数字。
    因为blocks数组与节点对应,需要先判断是否为空,然后对非空的使用destroy()方法销毁,之后清空两个数组的值(如果对blocks数组直接清空容易造成内存泄漏),并对其进行初始化,blocks数组全赋予null值,data数组全赋予0值。(可使用console.log()方法打印这两个数组,可在预览中看到已初始化成功,之后将该打印语句注释即可)。
    init() {
        this.updateScore(0);

        if (this.blocks) {
            for (let i = 0; i < ROWS; ++i) {
                for (let j = 0; j < ROWS; ++j) {
                    if (this.blocks[i][j] != null) {
                        this.blocks[i][j].destroy();
                    }
                }
            }
        }

        this.data = [];
        this.blocks = [];

        for (let i = 0; i < ROWS; ++i) {
            this.blocks.push([null, null, null, null]);
            this.data.push([0, 0, 0, 0]);
        }
        console.log(this.data);
        console.log(this.blocks);
    },

在这里插入图片描述

发布了92 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Fan0628/article/details/104711629