我有一些麻烦,在Processing.JS编程命中检测。我曾试图弥补,检查如果事情是触摸对象并返回true函数,否则返回false。这是在这里。
`Box.prototype.checkTouching = function(v){
if(v.position.x > this.position.x - this.width/2 && v.position <
this.position.x + this.width/2 && v.position.y > this.positon.y -
this.height/2 && v.position.y < this.position.y + this.height/2){
return true;
}else{
return false;
}
};`
我在持有的价值我绘制函数创建一个新的变量“b”执行,如果声明函数返回然后使用来检查值“b”持有是真的。像这样
var b = box3.checkTouching(mos);
if(b === true){
println("It works");
}
什么当两个物体接触应该发生的是,一个消息说:“它的工作原理”被打印到控制台。不幸的是,即使在功能上运行的物体触摸运行它没有任何反应的对象。我已经检查,看看是否逻辑的作品,它是有效的,所以我知道它是我实现我似乎无法找出什么是错我的执行。谁能告诉我在做什么错?全部程序here
你需要检查的矩形是否重叠。你会通过检查每一侧,这样做:
if(rectOneRight > rectTwoLeft && rectOneLeft < rectTwoRight && rectOneBottom > rectTwoTop && rectOneTop < rectTwoBottom){
//collision
}
无耻的自我宣传:我已经写在处理碰撞检测教程(包括矩形,矩形碰撞)提供here。
要建立什么凯文贴,说我要我的鼠标悬停在一个矩形。处理已内置变量mouseX, mouseY
返回鼠标的坐标。所以我会检查,如果鼠标X位置比RECT X POS +的矩形宽度大于所述RECT X POS和更小。的,做同样与mouseY的,RECT Y和矩形高度
if (mouseX > rectXpos &&
mouseX < rectXpos + rectWidth &&
mouseY > rectYpos &&
mouseY < rectYpos + rectHeight) {
// the button is being hovered over
}