我做了一个游戏,一辆汽车拿起怪物,我把它算作一个点。所以我现在要做的就是当他拿起一个怪物时将汽车的颜色改为蓝色。一段时间后再变回红色。 所以目前我
isTouching(obj) { // returns true if object is touching box x,y,w,h
return !(this.x > obj.x + obj.w || this.y > obj.y + obj.h || this.x + this.w < obj.x || this.y + this.h < obj.y );
},
monsters.array.forEach(monster => {
if (monster.isTouching(this)) {
monster.reset();
monstersCaught += 1;
}
});
当一辆汽车接载一名乘客时这样做。所以我试图画出擦掉红色图像并将其改为蓝色图像,并在3秒后再次变回红色。但这不起作用。
我在游戏中工作pen。感谢任何帮助
答案 0 :(得分:0)
monstersCaught += 1;
每次都会计数;然后你可能会看到1,2,3等等。我想你想在一段时间后将它重置回0?加上不是吗?尝试检查拼写是否正确并且没有使用其他变量。
编辑:
monsters.array.forEach(monster => {
if (monster.isTouching(this)) {
monster.reset();
monstersCaught += 1;
//set car color blue
window.setTimeout(changecar, 5000);
}
});
function changecar() {
//set car color back to red
}