用于处理JS命中检测实施

问题描述 投票:0回答:2

我有一些麻烦,在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

processing.js
2个回答
0
投票

你需要检查的矩形是否重叠。你会通过检查每一侧,这样做:

if(rectOneRight > rectTwoLeft && rectOneLeft < rectTwoRight && rectOneBottom > rectTwoTop && rectOneTop < rectTwoBottom){
   //collision
}

无耻的自我宣传:我已经写在处理碰撞检测教程(包括矩形,矩形碰撞)提供here


0
投票

要建立什么凯文贴,说我要我的鼠标悬停在一个矩形。处理已内置变量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
}
© www.soinside.com 2019 - 2024. All rights reserved.