【发布时间】:2016-02-22 16:18:02
【问题描述】:
我正在实现一个简单的游戏,我的汽车(图像)必须躲避圆形障碍物(图像)。现在我在为汽车和圆圈制定碰撞检测方法时遇到问题。我希望汽车一撞到圆圈就消失。现在我正在使用一个名为“y”的 id 来显示汽车是否与 bluecircle 发生碰撞。如果是这样,我的 HTML 代码部分中的 <p> 标记使用了 id,它应该显示文本说“碰撞”,但即使它们相交....什么也没有发生...:/
function Intersect(ax ,ay , aw , ah , bx , by , bw , bh){
return ax < bx + bw && bx < ax + aw && ay < by + bh && by < ay + ah;
}
if (Intersect(this.x,this.y,this.w,this.h,bluecircleArray[0].x,bluecircleArray[0].y,bluecircleArray[0].width,bluecircleArray[0].height)){
document.getElementById("y").innerHTML = "COLLISION";
}
【问题讨论】:
-
它不起作用通常需要比这更多的细节。我能假设的最好的情况是,无论汽车去哪里,Y 元素(我假设您的文档中只有一个称为 Y 的元素)永远不会显示“碰撞”?
-
ax bx - bw
-
@Katana314 这不是我编写代码的方式,我刚刚展示了函数和 if 条件不起作用...让我上传完整代码
-
@Adil.R 你展示的细节数量没有问题,但是“它不起作用”尤其是一个有点烦人的短语,因为通常我们想要一个稍微详细一点的帐户,例如:“我希望当我单击此按钮时,我的图像会改变颜色,但什么都没有发生。”或“...但是,图像消失了。”了解当前症状对于准确地确定什么非常重要。
-
@Adil.R 好吧,足够接近了。我正在考虑的确切文本类似于“它应该显示文本说“碰撞”,但即使它们相交,也不会发生任何事情”。我会对此进行尝试。
标签: javascript image collision detection