为了账号安全,请及时绑定邮箱和手机立即绑定

我的代码效果有个bug,连续吃新果实时,旧涟漪会突然消失,新涟漪按规划变大,请问怎么解决?

var waveObj = function () {
	this.x = []; 
	this.y = [];
	this.alive = [];
	this.r = [];
}
waveObj.prototype.num = 10;
waveObj.prototype.init = function(){
	for (var i = 0; i < this.num; i++) {
		this.alive[i] = false;
		this.r[i] = 0;
	}
};
waveObj.prototype.draw = function(){
	cxt1.save();
	cxt1.lineWidth = 2;
	cxt1.shadowBlur = 10;
	cxt1.shadowColor = "#fff";
	for (var i = 0; i < this.num; i++) {
		if (!this.alive[i]) {
			this.r[i] += deltaTime*0.04;
			if (this.r[i]>50) {
				this.alive[i] = false;
				continue;
			}
			var alpha = 1 - this.r[i]/50;
			cxt1.beginPath();
			cxt1.arc(this.x[i],this.y[i],this.r[i],0,Math.PI*2);
			cxt1.closePath();
			cxt1.strokeStyle = "rgba(255,255,255,"+alpha+")";
			cxt1.stroke();
		}
	}
	cxt1.restore();
}
waveObj.prototype.born = function(x,y){
	for (var i = 0; i < this.num; i++) {
		if (!this.alive[i]) {
			this.alive = true;
			this.r[i] = 10;
			this.x[i] = x;
			this.y[i] = y;
			return;
		}
	}
}

其他都好着,编译也不会出现问题。就是这样的涟漪就像突然消失一样,很不好,不知道怎么解决。

正在回答

2 回答

还有第39行,alive后面少写了 [i] ,

把我说的这几处都改一下就可以了、、、

0 回复 有任何疑惑可以回复我~
#1

苍白的尾巴 提问者

非常感谢!终于解决了
2016-08-16 回复 有任何疑惑可以回复我~
#2

weibo_包子饺子馒头花卷8_0 回复 苍白的尾巴 提问者

请教一下你是怎么解决的啊?
2017-10-19 回复 有任何疑惑可以回复我~
#3

苍白的尾巴 提问者 回复 weibo_包子饺子馒头花卷8_0

把之前没有细心写的代码改正,然后就是20行判断条件刚好写反了。 之前是没理解代码,直接敲,就发生了好多bug,你先把这些串起来再写就ok
2017-10-19 回复 有任何疑惑可以回复我~

第20行代码处,去掉符号即可。

然后第13行的 ; 符号,建议去掉,一般是不带的。。

1 回复 有任何疑惑可以回复我~
#1

苍白的尾巴 提问者

20行的!去掉之后不出现涟漪了。
2016-08-16 回复 有任何疑惑可以回复我~
#2

苍白的尾巴 提问者

打印输出 this.alive时,先输出false,碰撞后输出undefined
2016-08-16 回复 有任何疑惑可以回复我~
#3

NoLimits 回复 苍白的尾巴 提问者

还有第39行,alive后面少写了 [i] , 把我说的这几处都改一下就可以了、、、
2016-08-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的代码效果有个bug,连续吃新果实时,旧涟漪会突然消失,新涟漪按规划变大,请问怎么解决?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信