cocos2d-x js 动态增加分数
发布时间:2020-12-14 17:09:12 所属栏目:百科 来源:网络整理
导读:这两天一直在整一个分数动态增加的效果,类似于开心消消乐结算时分数滴滴滴的累加效果,自行脑补
这两天一直在整一个分数动态增加的效果,类似于开心消消乐结算时分数滴滴滴的累加效果,自行脑补啊。实现步骤主要是拿到开始时的分数和结束时的分数,取个差值,根据差值判断是加到结束时的分数还是减到结束时的分数。加减的分数就是结束分数乘以一个系数,系数则是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);这样基本上可以实现分数动态滴滴滴增加减少(包括负数)的过程,再配个适当的音效,效果会更好哦。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |