丨木丶小子丨3472992
2017-04-14 14:32
我想知道为什么我momFruitsCollision()中的fruit.dead(i)执行了 this.alive[i】也变成了false 为什么果实不消失
我的问题是这样解决的 代码无误 无bug报告
即使刷新多次谷歌浏览器 不会被吃掉
重新启动浏览器 或者 重新从编译工具启动测试游戏页面就可以被吃掉了
为什么会这样的原因我总结了以下几点
我这个测试的谷歌浏览器或者版本不支持 实时更新我们这段 触碰 函数
触碰 函数 都不支持各种浏览器 实时更新……
希望有大神指导一下 正确原因。
代码都和你说的这些一样 为什么还是不对啊
可能原因如下:
(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()函数中。
先仔细检查下看是哪里的问题哦。
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)
}
}
}
}
HTML5小游戏---爱心鱼(上)
92348 学习 · 551 问题
相似问题