问答详情
源自:2-6 果实绘制(果实数量控制)

小球无限变大的问题

请问下,这个浏览器切换导致的小球无限放大问题不可以在draw时用 if(this.l[i] > 15){ return; } 解决么?

提问者:McDaddy 2015-10-02 13:34

个回答

  • 月下风物语
    2015-11-10 21:27:56

    我也遇到这样的问题。

    我的解决方法:是这样的在else{}这个分支中,也就是你所说的if(this.l[i]>15){}中加入this.l[i]=15;这样的语句就可以了。

    我对此现象的猜测是:因为this.l[i]的值取决于deltaTime,而这个值取决于当前时间减去上次时间,是一个时间差,而当切过浏览器很久时,在切回来,当前时间就与切之前隔了很大的时间差,这个时候this.l[i]的值就可能会远大于15,所以看到的小球就会特别大。所以对this.l[i]的上限进行限制,应该就可以解决了。

  • 啊啊哦
    2015-10-11 16:44:37

    代码写完了,可是不能实现循环生长, 求解这是为什么

  • McDaddy
    2015-10-02 13:43:06

    貌似这样放太久会什么都没有。 还要在return前加上this.alive[i] = false;

    这样放很久之后画面相当于重新加载画