任何人都可以在数组部分帮助我吗?我正在制作一个彩色拖放游戏,将物品拖入一个盒子,当错误或正确时,人们会收到通知。
如何从以下位置调用数组:
var items=[]
items.push({x:400,y:330,width:30,height:30,color:"rgba(100,223,0, 0.5)",isDragging:false});
items.push({x:300,y:330,width:30,height:30,color:"rgba(220,0,0, 0.5)",isDragging:false});
items.push({x:200,y:330,width:30,height:30,color:"rgba(220,223,0, 0.5)",isDragging:false});
为:
if (items[0].push(x > 400 && x <175 && y>50 &&y<235)){
//console.log("ok");
canvas2.innerHTML = "Score:" + 1;
}
else if(x > 255 && x < 376 && y > 50 && y <235){
canvas2.innerHTML = "WRONG! please try again."
rect = false;
myMove = false;
}
else if(x > 455 && x < 576 && y > 50 && y <235){
canvas2.innerHTML = "WRONG! please try again."
rect = false;
myMove = false;
}
答案 0 :(得分:0)
这只会将一个布尔值推送到数组:
if (items[0].push(x > 400 && x <175 && y>50 &&y<235)){ ...
首先评估:
x > 400 && x <175 && y>50 && y < 235
然后将结果(true或false)推送到您的数组(没有别的)。您的条件检查基本上是检查push
返回的长度,该长度始终为非零,因此您的条件为真,并且将始终使用。
您的情况也“不可能”,因为x不能同时高于400且低于175 ......
要解决此特定问题,您需要稍微更改代码。我不确定你打算如何使用它,因为将结果推送到你的数组与你已存储的内容不匹配,如果你打算将x和y存储为新对象,你需要创建一个JSON字符串。 / p>
您可以尝试这样做:
if (x > 175 && x < 400 && y > 50 && y < 235) {
...
} else if ...
(用实际代码替换......)