cocos2d-x js 动态增加分数

        这两天一直在整一个分数动态增加的效果,类似于开心消消乐结算时分数滴滴滴的累加效果,自行脑补啊。实现步骤主要是拿到开始时的分数和结束时的分数,取个差值,根据差值判断是加到结束时的分数还是减到结束时的分数。加减的分数就是结束分数乘以一个系数,系数则是0.016/2,这个自己调整,越小加的越快,0.016是跑一帧需要的时间。

然后在计时器中调用这个加减的过程就可以了。具体代码如下:

 //用户成绩动态变化
    runChangeUserScore: function ()
    {
        //开始时的分数
        var tempScore = parseInt(this.Text_user_score.getString());
        //结束时的分数
        var endedScore = this.userScoreNum;
        //console.log("runChangeUserScore  tempScore  " + tempScore + " this.userScoreNum  " + this.userScoreNum);
        //用户增加的成绩
        var changedScore = endedScore - tempScore;
        //分数增加的时间系数
        var changeTime = 0.016 / 2;
        if (changedScore != 0)
        {
            if (changedScore > 0)
            {
                if (endedScore == 0)
                {
                    tempScore -= this.myNewScore * changeTime;
                }
                else
                {
                    tempScore += endedScore * changeTime;
                }
            }
           else if(changedScore < 0)
           {
               if (endedScore == 0)
               {
                   tempScore -= this.myNewScore * changeTime;
               }
               else
               {
                   tempScore -= Math.abs(endedScore) * changeTime;
               }
           }
            if (endedScore < 0 && endedScore - tempScore >= 0)
            {
                tempScore = endedScore;
            }
            if (endedScore > 0 && tempScore - endedScore >= 0)
            {
                tempScore = endedScore;
            }

            this.Text_user_score.setString(tempScore.toString());
        }
        else
        {
            this.Text_user_score.setString(endedScore.toString());
            console.log("unschedule  runChangeUserScore  ----------------------------end");
            this.unschedule(this.runChangeUserScore);
        }     
    },
调用的时候则是   

     //用户成绩刷新
	    this.userScoreNum = this.userScoreNum + (res.userWin - res.userLose);
	    this.myNewScore = parseInt(this.Text_user_score.getString());
	    this.schedule(this.runChangeUserScore);
这样基本上可以实现分数动态滴滴滴增加减少(包括负数)的过程,再配个适当的音效,效果会更好哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值