问答详情
源自:6-4 触控细节完善

已全部看完,也做出了自己的2048!这里有个小细节,当点击New Game时分数并没有立即重置,只有当用户进行第二局游戏时分数才会变动! 学了挺多东西的,拜谢!希望老师能再做出几个关于3D的视频!

提问者:一杯热茶 2014-06-13 13:59

个回答

  • 慕勒4455382
    2020-12-08 17:15:36

    很简单在 初始化函数后面加一个更新分数的功能就行

    源代码如下:

    function init(){

        //初始化棋盘格,先获取每个小格子的位置

        for(var i = 0; i < 4; i++){

            for(var j = 0; j < 4; j++){


                // 获取每个小格子的id值

                var gridCell = $("#grid-cell-"+i+"-"+j);


                // 通过函数来设定每个小格子的顶部与左边与大棋盘格的顶部与左边的距离

                gridCell.css("top",getPosTop(i,j));//每个小格子顶部与大棋盘格的顶部的距离

                gridCell.css("left",getPosLeft(i,j));//每个小格子左边与大棋盘格的左边的距离


            }

        }



        //以下为2.1新增内容


        //创建一个二维数组

        for(var i = 0; i < 4; i++){


            board[i] = new Array();

            //4.3更新内容

            hasConflicted[i] = new Array();//二维数组


            //将每个数组的值都初始化,都设置为0

            for(var j = 0; j < 4; j++){

                board[i][j] = 0;

                //4.3更新内容

                hasConflicted[i][j] = false;

            }

        }


        //当数组里的值发生变化时,通知前端,并让前端内容发生变化


        updateBoardView();

        //4.2新增

        score = 0;

        showScore(score);

        

    }


  • 鈞嘢嘢
    2014-08-31 21:57:44

    在init()里 score = 0 后添加 updateScore(score)重置分数

  • l1uyub0b0b0
    2014-06-13 14:07:36

    谢谢提醒。可能一些细节考虑不周,抱歉。我也在和慕课网商讨筹划更多关于Canvas;WebGL,动画甚至是VR等相关表现力更强的课程,敬请期待:)