首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript Canvas碰撞检测问题

Javascript Canvas碰撞检测问题
EN

Stack Overflow用户
提问于 2019-02-03 02:46:23
回答 1查看 30关注 0票数 0

我已经在这个问题上挣扎了很短一段时间,我希望得到一些帮助。所以基本上情况就是这样。我有多个方块,都是(100 * 100)在画布上移动,一段时间后重新设置到底部。我还有一个可控制的立方体(20 * 20),可以左右移动。游戏的目标是躲避立方体,直到达到一定的时间限制。但是我无论如何也不能让“宇宙飞船”和方块工作的碰撞检测。有谁有什么想法吗?这是我的一些代码,它们已经在一定程度上成功地做到了这一点(只有“宇宙飞船”的左侧撞到了其他立方体)。

代码语言:javascript
运行
复制
for(var n = 0; n < block.length; n++){
if(y > block[n].y && y < (block[n].y + 100 )){
    console.log(y + 100 + " " +  "y check1");
    if(x > block[n].x && x < block[n].x + 100){
        x += 20;
        console.log(x + 100 + " " +  "x check1");
     }
  }
}

注意:xy =船的位置,block.yblock.x =要检查的连续循环的块的位置。

如果需要,我可以提供其余的代码。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-03 02:50:24

这是一个基本的碰撞检测。有趣的是,它实际上并不是在寻找碰撞,而是在寻找物体之间的间隙。没有缝隙,它被击中了。

代码语言:javascript
运行
复制
if (rect1.x < rect2.x + rect2.width &&
   rect1.x + rect1.width > rect2.x &&
   rect1.y < rect2.y + rect2.height &&
   rect1.height + rect1.y > rect2.y) {
// collision detected!
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54496349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档