fruit执行alive = false的时候 其余所有果实为何总会会闪一下

来源:2-7 大鱼绘制

淋雨的兔子

2015-10-05 15:59

for(var i = 0;i<this.num;i++){

if(this.alive[i]){

if(this.r[i]<10){

this.r[i] += this.speed[i]*gaptime*0.1;

}else{

if(this.y[i]<0){

this.alive[i] = false;

}else{

this.y[i] -= this.speed[i]*gaptime;

this.r[i] += this.speed[i]*gaptime*0.01;

}

}

context1.beginPath();

context1.arc(this.x[i],this.y[i],this.r[i],0,2*Math.PI);

context1.fillStyle = this.color[i];

context1.strokeStyle = "rgba(255,255,255,1)";

context1.fill();

context1.stroke();

context1.closePath()


context1.beginPath();

context1.arc(this.x[i]-2,this.y[i]-2,this.r[i]/4,0,2*Math.PI);

context1.fillStyle = "rgba(255,255,255,1)"

context1.fill();

context1.closePath()

}

}


写回答 关注

3回答

  • vaycore
    2016-09-13 09:57:01
    已采纳

    因为 if(this.alive[i]) 为 false 的时候不会执行绘制,会跳过当前循环,导致失帧, 所以会闪一下

    淋雨的兔子

    非常感谢!

    2016-10-05 18:09:39

    共 1 条回复 >

  • 慕莱坞7193365
    2022-08-08 21:19:52

    不会滴。。你看--操作后,有个if判断啊,发现小于1就会重置为1,紧接着右滑时cid会正常++到2的。。

    lhgjvnq

  • 慕莱坞5242466
    2022-04-11 13:07:45

    我觉得这样做是为了实现多种元素的不同化

    vvrlmogcyqbglffkoewumzaywsi

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

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92353 学习 · 550 问题

查看课程

相似问题