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

我想知道为什么我momFruitsCollision()中的fruit.dead(i)执行了 this.alive[i】也变成了false 为什么果实不消失

我想知道为什么我momFruitsCollision()中的fruit.dead(i)执行了   this.alive[i】也变成了false  为什么果实不消失

正在回答

4 回答

我的问题是这样解决的 代码无误 无bug报告

即使刷新多次谷歌浏览器 不会被吃掉

重新启动浏览器 或者 重新从编译工具启动测试游戏页面就可以被吃掉了

为什么会这样的原因我总结了以下几点

  1. 我这个测试的谷歌浏览器或者版本不支持 实时更新我们这段 触碰 函数

  2. 触碰 函数 都不支持各种浏览器 实时更新……

    希望有大神指导一下 正确原因。

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

代码都和你说的这些一样    为什么还是不对啊


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

可能原因如下:

(1)在fruit.js中dead函数写的不对,未传参数进去。

正确写法如下:

fruitObj.prototype.dead = function(i) {
 this.alive[i] = false;
}

(2)在fruit.js中的init()初始化过程中,果实的初始状态不对,最开始应该是false状态

fruitObj.prototype.init = function() {
 for(var i=0; i<this.num; i++) {
  this.alive[i] = false;

}

(3)momFruitCollision()函数没有在main.js中进行调用。调用位置在gameloop()函数中。

先仔细检查下看是哪里的问题哦。

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

function momFruitsCollision (){

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

if(fruit.alive[i]){

//calculate lenght

var l = calLength2(fruit.x[i],fruit.y[i],mom.x,mom.y);

if ( l < 900){

fruit.dead(i)

}


}

}

}


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

举报

0/150
提交
取消

我想知道为什么我momFruitsCollision()中的fruit.dead(i)执行了 this.alive[i】也变成了false 为什么果实不消失

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