在Game脚本里实现计分和更新分数的逻辑,打开Game脚本,在properties区块的最后添加分数显示Label的引用属性,代码如下。
properties: {// …// score label 的引用scoreDisplay: {default: null,type: cc.Label}},
接下来在onLoad()方法里添加计分用的变量的初始化:
onLoad:function(){//...//初始化计分this.score = 0;},
然后在update()方法后面添加新方法gainScore():
gainScore: function () {this.score += 1;// 更新 scoreDisplay Label 的文字this.scoreDisplay.string = 'Score: ' + this.score;},
保存Game脚本后,回到层级管理器,选中Canvas节点,然后把前面添加好的score节点拖曳到属性检查器里Game组件的Score Display属性中
然后在Candy脚本中调用Game中的得分逻辑。下面打开Candy脚本,在onPicked()方法中加入gainScore的调用:
onPicked: function() {// 当糖果被收集时,调用 Game 脚本中的接口,生成一个新的糖果this.game.spawnNewStar();// 调用 Game 脚本的得分方法this.game.gainScore();// 销毁当前糖果节点this.node.destroy();},
保存后预览,可以看到现在收集糖果时屏幕正上方显示的分数会增加,如图8.40所示
