【问题标题】:JavaScript Collision FunctionJavaScript 碰撞函数
【发布时间】:2012-09-21 20:41:55
【问题描述】:

我正在通过教程制作我的第一个 HTML5 游戏。教程突然结束了,但我决定我会用诸如结束屏幕和被敌人杀死的方式来完成游戏。然而,问题是无论我读什么,我似乎都无法弄清楚这个碰撞函数来检查两个矩形是否发生碰撞。目前,与当前碰撞功能here。你可以找到特定的函数本身here,以及整个程序(以防万一,即使我知道你可能不会看那个)here。在发布之前,我一直在阅读,但我似乎无法使碰撞工作恰到好处。我是在做完全错误的事情还是我的逻辑不正确。如果有人可以提供帮助,我将不胜感激。谢谢!

好的,抱歉这个错误,我把其他功能逻辑放在我下面,但我很确定它是一样的。我之前只是遇到错误。

(!(x1 + w1 < x2) &&
           !(x2 + w2 < x1) &&
           !(y1 + h1 < y2) &&
           !(y2 + h2 < y1))

【问题讨论】:

  • 你的(新)碰撞函数看起来是正确的(见stackoverflow.com/questions/6082624/…)。定义“工作恰到好处”。
  • 嗯,碰撞不对。它有时会碰撞并且不会停止。我会把它放到游戏的链接中,你会明白我的意思。我假设你的意思是我在这篇文章中发布的代码,而不是粘贴箱部分。
  • 是的,我的意思是(原始)更短的函数——执行矩形相交测试只需要四次比较。
  • 您的 javascript 代码因错误而无法运行...
  • 好的,我敢肯定,如果你现在使用游戏,它就会使用该功能。问题是它现在似乎不起作用。

标签: javascript html collision


【解决方案1】:

也许这可以帮助:)

function collision(a,b)
{
    if(a.x < b.x + b.sprite.width && a.x + a.sprite.width > b.x && a.y < b.y + b.sprite.height && a.y + a.sprite.height > b.y)
    {
        return true;
    }
    else
    {
        return false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多