score 打印在canvas时当检测到碰撞时,score 会重复画,一直累加为什么会这样?求解答

来源:2-4 身体升级准备

weibo恋聃纯

2017-04-08 21:00

http://img.mukewang.com/58e8de7f0001d83213660768.jpg

var dataObj=function(){
  this.score=0;
this.ntrNum=0;
this.gameover=false;
}

dataObj.prototype.draw=function(){
  // var w=can1.width;
  // var h=can1.height;

  ctx1.fillStyle = "white";

  // ctx1.fillText=("score"+this.score,canWidth*0.5,canHeight/12);
    ctx1.fillText("score  "+this.score,canWidth*.5,canHeight-20);
    ctx1.fillText("ntrNUm  "+this.ntrNum,canWidth*.5,canHeight-50);

console.log(this.score)

}

  dataObj.prototype.addScore=function(){
    // if(this.ntrNum>0){
      this.score+=this.ntrNum*10;
    // }
    this.ntrNum=0;

  }


写回答 关注

1回答

  • 慕粉1468145823
    2017-04-11 09:52:02

    不知道你的代码结构是不是跟视频里的差不多,视频里gameloop()这个函数一直在循环,而data.js里的draw()一直再被gameloop()调用,draw()里有score的绘制,因此会一直被重复绘制。而你的累加,有可能是因为鱼妈妈跟小碰撞检测的条件没有写清楚。

HTML5小游戏---爱心鱼(下)

通过一个清新美好的小游戏教程,熟悉游戏开发流程

46272 学习 · 189 问题

查看课程

相似问题