慕设计7269452
你是不是没有初始化;dust.init();
Zz皓
谢谢大哥
慕粉3859131
碰撞完以后,立即将设置果实状态。
function collisionWithFruits(){
for(var i=0; i<fruit.num; i++){
var dis = Math.pow((fruit.x[i] - mom.x), 2) + Math.pow((fruit.y[i] - mom.y), 2)
if(dis < 400){
// fruit die
if(fruit.state[i] != "die") {
fruit.eated(i);
}
}
}
}fruitObj.prototype.eated = function( i ) {
//这里,果实死了,就不会反复碰撞了。
this.state[i] = "die";
this.aliveNum --;
data.score += this.scorePerFruit;
if(data.momDouble > 0) {
data.momDouble --;
data.score += this.scorePerFruit;
} else {
mom.state = "nomal";
}
data.momLife ++;
if(this.type[i] == "blue"){
data.momDouble ++;
mom.state = "double";
}
circle.spawn(this.x[i], this.y[i], "fruit");
}
差太多
找到了 有个地方this,y写成了this.x
qq_安箬置之_0
火012
可能性上来说,可能是你dust.js的代码中有一个部分漏了[i], 这是个常有的情况,你仔细看一下。
Anny0727
this.alpha +=deltaTime*0.001;
DOZA
啊唐佩良
没区别,都是定义实例的方法